BCB 中 Application->CreateForm 和 New 的一个区别
2016-09-05 21:52
519 查看
Application->Create
和 NEW 的一个区别
[摘要:Application-Create 战 NEW 的一个差别 比来写windows办事的时间,碰巧遇到一个题目。我设立建设了一个DataModal,然后正在Datamodal的OnCreate 事情中建立了别的一个类A的工具a。. a会往拜访DataModal的齐局]
最近写windows服务的时候,恰巧碰到一个问题。我建立了一个DataModal,然后在Datamodal的OnCreate 事件中创建了另外一个类A的对象a。.
a会去访问DataModal的全局指针。相当于下面这个东西:
如果使用Application->CreateForm 创建,则a可以访问到DataModal的全局指针。即,用下面的方式创建:
如果用new的方式创建,DataModal的全局指针,在OnCreate的时候,是NULL
设计Form2的FormCreate函数如下:
点评:这是类构造问题,CreateForm函数常用在函数入口加载界面,函数第二个参数传入引用,马上引用该地址到创建的对象上;而new对象赋值方法,先创建一个零时的对象,再把地址赋值给指针对象。此外BCB的构造同时会调用窗体的FormCreate函数,关于formcreate和构造函数的顺序可总结为,当OldCreateOrder=false时先执行构造函数内容,退出构造时执行formcreate;当OldCreateOrder=true是先调用formcreate后执行构造函数中的内容。
和 NEW 的一个区别
[摘要:Application-Create 战 NEW 的一个差别 比来写windows办事的时间,碰巧遇到一个题目。我设立建设了一个DataModal,然后正在Datamodal的OnCreate 事情中建立了别的一个类A的工具a。. a会往拜访DataModal的齐局]
最近写windows服务的时候,恰巧碰到一个问题。我建立了一个DataModal,然后在Datamodal的OnCreate 事件中创建了另外一个类A的对象a。.
a会去访问DataModal的全局指针。相当于下面这个东西:
如果使用Application->CreateForm 创建,则a可以访问到DataModal的全局指针。即,用下面的方式创建:
如果用new的方式创建,DataModal的全局指针,在OnCreate的时候,是NULL
设计Form2的FormCreate函数如下:
点评:这是类构造问题,CreateForm函数常用在函数入口加载界面,函数第二个参数传入引用,马上引用该地址到创建的对象上;而new对象赋值方法,先创建一个零时的对象,再把地址赋值给指针对象。此外BCB的构造同时会调用窗体的FormCreate函数,关于formcreate和构造函数的顺序可总结为,当OldCreateOrder=false时先执行构造函数内容,退出构造时执行formcreate;当OldCreateOrder=true是先调用formcreate后执行构造函数中的内容。
相关文章推荐
- BCB 中 Application->CreateForm 和 New 的一个区别
- 在初始化一个类,生成一个实例的时候;newInstance() 和 new 有什么区别?
- 在初始化一个类,生成一个实例的时候;newInstance() 和 new 有什么区别?
- applicationContext.xml中<context:annotation-config> 和 <context:component-scan>的区别
- <script>中text/javascript和application/javascript两个不同属性的区别
- new 一个对象的时候加括号和不加括号有什么区别
- .net 中的file->new->webSite与create->webSite的区别
- Eclipse:File-->New File没有Android Application Project的解决办法
- 创建一个对象 new 与 不加new 有什么区别
- xiao *xx=xiao();new一个对象用指针与不用指针的区别
- 类名.class 与 new 一个对象的区别。
- Spring配置文件中使用ref local与ref bean的区别. 在ApplicationResources.properties文件中,使用<ref bean>与<ref local>方法如下
- 用new方法生成一个img对象和document.createElement方法创建一个img对象的区别
- 声明一个实例,是否使用new的区别
- console.log的一个应用 -----用new方法生成一个img对象和document.createElement方法创建一个img对象的区别
- new 出一个对象 和 = null的区别
- public class Assemble<T> where T:new() T的限制为必须要有一个无参构造器
- new 一个空的数组对象和a[0]=null的区别
- C++ 声明一个变量 和 New 一个空间的区别
- Eclipse File->new中没有new android application project