您的位置:首页 > 移动开发

BCB 中 Application->CreateForm 和 New 的一个区别

2014-12-25 20:43 162 查看

Application->Create 和 NEW 的一个区别

最近写windows服务的时候,恰巧碰到一个问题。我建立了一个DataModal,然后在Datamodal的OnCreate 事件中创建了另外一个类A的对象a。.

a会去访问DataModal的全局指针。相当于下面这个东西:



发现,a访问的DataModal的全局指针有如下2种情况,

如果使用Application->CreateForm 创建,则a可以访问到DataModal的全局指针。即,用下面的方式创建:



 

如果用new的方式创建,DataModal的全局指针,在OnCreate的时候,是NULL.

 

逐编写下面的例子进行测试,证实了我的想法。

 

 

新建工程,有一个Form1,然后摆上2个按钮



新建一个Form2 类,设置启动属性,让Form2不主动创建。



对Form1 上的按钮写如下代码



在Form2的OnCreate事件中添加如下代码



运行程序,结果如下:





 

结论,使用Application->CreateForm方式创建的窗体,的确通过C++的new 创建有写不同。

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: