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 创建有写不同。
BCB 中 Application->CreateForm 和 New 的一个区别的更多相关文章
- HTML表单提交数据中application/x-www-form-urlencoded和multipart/form-data的区别
在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型. 下边是说明: application/x-www-form-urlen ...
- Spring Boot 中application.yml与bootstrap.yml的区别
其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在. 推荐使用yml,更简洁. bootstrap与application1.加载顺序这里主 ...
- Spring Boot中application.yml与bootstrap.yml的区别(转载)
说明:其实yml和properties文件是一样的原理,主要是说明application和bootstrap的加载顺序.且一个项目上要么yml或者properties,二选一的存在. Bootstra ...
- Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的区别
1.什么是Content-Type Form的enctype属性表示页面表单数据向服务端传输时的编码方式, 常用有两种:application/x-www-form-urlencoded和multip ...
- Spring Boot中application.yml与bootstrap.yml的区别(转)
说明:其实yml和properties文件是一样的原理,主要是说明application和bootstrap的加载顺序.且一个项目上要么yml或者properties,二选一的存在. Bootstra ...
- Spring Boot 中application.yml与bootstrap.yml的区别(转)
yml与properties其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在. 推荐使用yml,更简洁. bootstrap与applic ...
- 关于Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的区别及用法
http://blog.csdn.net/soonfly/article/details/52082547 Form的enctype属性表示页面表单数据向服务器传输时的编码方式, 常用有两种:appl ...
- Application.CreateForm()和TForm.Create()创建的窗体有什么区别么?二者在使用上各有什么技巧?(50分)
https://wedelphi.com/t/135849/ 请详细些,并给出例子.谢谢. Application.CreateForm()创建的第一个可显示的窗体是自动成为主窗体,并且自动显示,并且 ...
- ASP.NET中application对象
ASP.NET中application对象的使用. Application对象的应用 1.使用Application对象保存信息 (1).使用Application对象保存信息 Applicat ...
随机推荐
- Andrew Ng机器学习课程17(2)
Andrew Ng机器学习课程17(2) 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:主要介绍了利用value iteration和policy i ...
- centos(6,7) 系统常用命令
目录: 系统服务命令 文件操作 系统信息 文件和目录 文件搜索 挂载一个文件系统 磁盘空间 用户和群组 文件的权限 压缩与解压缩 YUM丶RPM 包 查看文件内容 文本处理 文件系统分析 初始化一个文 ...
- 工作总结--CTO(张王岩)IO的正式使用
4个抽象类 InputStreawm int read() void close() OutputStream void write(int) void flush() void close() R ...
- Pytest执行用例报Hint: make sure your test modules/packages have valid Python names.
近日,使用Pytest+Appium 实现APP端UI自动化,遇到Pytest收集用例失败的情况. 报错信息如下: test_room.py:None (test_room.py) ImportErr ...
- List 报错 java.lang.UnsupportedOperationException
废话不多说,上代码 public class ArrayListTest { @Test public void testList() { List<Long> longList = ne ...
- Word F1~F12 功能快捷键用法大全
F1:帮助 在Word中使用F1功能键,可以获取帮助. F2:移动文字或图形 F2按键可以移动文字和图形.选中文本,按下F2,然后将光标定位到你想移动到的地方,按下回车,即可移动. F3 :自动图文集 ...
- 20190621-N皇后
N皇后 难度分类 困难 题目描述 n皇后问题研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n ...
- hdu 6216 A Cubic number and A Cubic Number
题意:给定一个素数,判定它是不是两个立方数之差. 题解:对于a^3+b^3=(a-b)(a^2-a*b+b^2),而一个素数的因子只有1和其本身,在加上(a^2-a*b+b^2)一定是大于1的,所以只 ...
- android 自动化测试案例之 MonkeyRunner
#-*- coding: UTF-8 -*- #上面第一行是设置文件编码,windows下第一行必须是这个#文件名 MonkeyRunner.py#功能: 使用monkey runner测试app,此 ...
- Map集合中key不存在时使用toString()方法、valueOf()方法和强制转换((String))之间的区别
1.toString()方法 底层代码 public String toString() { return this; } 其返回值为String类型的字符串本身 Map<String, Obj ...