BCB 中 Application->CreateForm 和 New 的一个区别
来源:互联网 发布:杨幂睡小鲜肉知乎 编辑:程序博客网 时间:2024/06/01 17:55
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后执行构造函数中的内容。
0 0
- BCB 中 Application->CreateForm 和 New 的一个区别
- Application.CreateForm中参数的问题
- TApplication 中CreateForm的用法
- DELPHI application.createForm
- asp中application和session的区别
- java中Applet和Application的区别
- Servlet中application和session的区别。
- Java中"throw new Exception() "和"new Exception()"的区别
- PHP中new static() 和 new self() 的区别
- C++中new和不new的区别
- PHP中new self()和new static()的区别探究
- Java中new和不new的区别
- PHP中new self()和new static()的区别
- PHP 中 new static 和 new self 的区别
- c#中new和override的区别
- c#中,new 和 override 的区别
- C#中new和override的区别
- Java中new和newInstance的区别
- 软件测试
- JavaScript个人笔记:闭包及压栈
- 漫步线性代数十六——投影和最小二乘
- 003-algorithm-have circle-topology sort
- 机器学习资料
- BCB 中 Application->CreateForm 和 New 的一个区别
- POJ 1475 Pushing Boxes 嵌套BFS -
- Qt学习之五: 添加动作与资源文件
- 大数据IMF传奇行动绝密课程第54课:Spark性能优化第十季之Spark统一内存管理
- 1059. Prime Factors (25)
- Java数组运算
- Android简易实战教程--第二十七话《自定义View入门案例之开关按钮详细分析》
- Java Socket和ServerSocket
- JAVA语法基础Demo练习