C++ Builder开发点滴
来源:互联网 发布:淘宝智能版90元 编辑:程序博客网 时间:2024/05/16 09:08
2004-10-20 星期三
1、窗体的OldCreateOrder属性。
如果要问你,窗体类的构造函数和OnCreate事件中的代码哪个先执行,你可能会毫不犹豫的回答肯定是构造函数的代码先执行。事实上并非如此,最近在使用窗体继承时就碰到这样一个问题。我首先定义了一个基本窗体TChildBaseForm,然后以该窗体作为基础以继承方式创建窗体TUserInfoForm。在跟踪程序的时候发现,竟然是TUserInfoForm窗体的OnCreate事件处理代码先执行,然后才执行构造函数的代码。
为什么会出现这样的情况呢?后来查找TForm的帮助,发现TForm有这样一个属性OldCreateOrder,看看帮助是如何说明的:
When OldCreateOrder is false (the default) the OnCreate event occurs after all constructors are finished (from the AfterConstruction method) and the OnDestroy event occurs before any destructors are called (from the BeforeDestruction method).
This timing differs from C++Builder 1, where the OnCreate event occurred when the TCustomForm constructor executed and the OnDestroy event occurred when the TCustomForm destructor executed. Applications that require the OnCreate event and OnDestroy events to occur from the constructor and destructor of the form can set OldCreateOrder to true.
也就是说,如果OlderCreateOrder属性设置成false,那么OnCreate事件就会在所有构造函数完成之后触发,OnDestroy事件在析构函数调用前触发。反之,OlderCreateOrder等于true,次序就相反。现在,窗体的OlderCreateOrder缺省是为False,但是你如果从一个自定义的窗体继承时,该属性值就是True了,除非你手工改动它(在属性编辑器中是看不到该属性,只能修改DFM文件)。
- C++ Builder开发点滴
- WinCE开发工具Platform Builder的使用点滴
- C++Builder开发Web应用程序
- C++Builder中开发Activex
- C++Builder中开发Activex
- c++ builder 点滴
- .NET C/S(WinForm)开发技巧点滴
- .NET C/S(WinForm)开发技巧点滴
- .NET C/S(WinForm)开发技巧点滴
- .NET C/S(WinForm)开发技巧点滴
- .NET C/S(WinForm)开发技巧点滴
- C++Builder 数据库程序设计开发详解
- C++Builder 数据库程序设计开发详解
- 用C++Builder开发来电显示软件
- C++Builder中开发Activex 分享
- C++BUILDER 下开发语音源码,转载
- c点滴
- c 点滴
- 每个开发人员现在应该下载的十种必备工具
- 把微笑留给伤你最深的人
- RPC 接口中的缓冲区溢出可能允许执行代码
- 弥补Reflector对中文支持的不足
- Win32Asm快速教程
- C++ Builder开发点滴
- 黑客文化简史
- 第二章第一节 能把梳子卖给和尚吗
- 第二章第二节.把梳子卖给和尚
- 第二章第三节. 吕布卖出了999把梳子
- 长恨歌--白居易诗 戴敦邦插图(ZT)
- javascript控制页面控件隐藏显示的两种方法
- 第二章第四节、天机终于被泄露了
- 第二章第五节.为恶者必灭