首页 > 代码库 > BCB 中 Application->CreateForm 和 New 的一个区别
BCB 中 Application->CreateForm 和 New 的一个区别
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 创建有写不同。
?
?
?
?
?
?
CreateForm 和 New 的一个区别,mamicode.com" style="color:#ffffff" target="_blank">BCB 中 Application->CreateForm 和 New 的一个区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。