zoukankan      html  css  js  c++  java
  • 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.

     

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

     

     

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

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

    3. 对Form1 上的按钮写如下代码

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

    5. 运行程序,结果如下:

       

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

     

     

     

     

     

     

  • 相关阅读:
    bzoj4289
    bzoj3033
    bzoj3144
    896C
    bzoj4430
    bzoj4455
    bzoj5117
    BZOJ 1564: [NOI2009]二叉查找树
    BZOJ1261: [SCOI2006]zh_tree
    BZOJ1090: [SCOI2003]字符串折叠
  • 原文地址:https://www.cnblogs.com/songr/p/4185551.html
Copyright © 2011-2022 走看看