ComponentCount指打开的窗体所拥有的控件个数,包含所有子组件.孙组件(子组件内的子组件) 如上图,Form1的ComponentCount是13,而Panel1的ComponentCount为0 ControlCount指有多少个控件将自己做为父容器.只向下统计到子组件,而不包含孙组件 如上图,Form1的ControlCount是2(Panel1.Memo1),而Panel1的ControlCount为9(Button1.7个Edit.1个Panel2(不含Edit8.Edit9)…
Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble); 也就是说TShiftstate类型有ssShift, ssAlt, ssCtrl, ssLeft(鼠标左键), ssRight(鼠标右键), ssMiddle(鼠标中键), ssDouble (鼠标双击) Value Meaning ssShift The Shift key is held…
一.Delphi永远没办法在栈上创建一个对象 下面是一段常见的的Delphi代码,在过程的开头声明本过程所需要的全部局部变量: procedure Foo;var obj: TObject; //这句容易被C++程序员误会.begin ...end; C++程序员会以为obj这个变量就是TObject对象实例本身,会以为这一句是在栈上声明并构造了TObject类的一个对象实例,他们会与下面的C++代码混淆: void Foo() { CObject obj; //这一句的确在栈上构造了CObje…
Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble); 也就是说TShiftstate类型有ssShift, ssAlt, ssCtrl, ssLeft(鼠标左键), ssRight(鼠标右键), ssMiddle(鼠标中键), ssDouble (鼠标双击) Value Meaning ssShift              The Shif…
overload是重载;相同的函数名,参数不同,使用不同的函数体   override   是对父类声明的vitural或dynamic方法进行覆盖 overload的使用方法: [delphi] view plain copyfunction   max(a,   b   :Byte):byte;overload;       //声明成重载函数      function   max(a,   b   :integer):integer;overload;   //可以看出两个函数的参数类型…
目录 Delphi永远没办法在栈上创建一个对象 Delphi的构造函数更象是个类方法(静态成员函数) Delphi的析构函数中可以调用纯虚方法 Delphi在构造对象时自动将成员变量清零 Delphi构造函数中抛出异常会自动先调用析构函数 Delphi简化了COM接口的AddRef.Release和QueryInterface 一.Delphi永远没办法在栈上创建一个对象 下面是一段常见的的Delphi代码,在过程的开头声明本过程所需要的全部局部变量: procedure Foo;varobj:…
全局变量: 如果我们在应用程序一个单元中的interface关键字和implementation关键字之间的区域,定义一个全局变量,假如这个单元在别的地方被引用,那么这个单元的全 局变量能够在别的地方被访问到,当然我们也可以在应用程序一个单元中的implementation关键字的后面定义全局变量,不过此时在这里定义的全局变量只能在本 单元中被访问到,也就是说它是这个单元私有的,在别的单元中将不能被访问到.全局变量在应用程序的数据区分配内存,它存在于可执行模块(EXE或DLL等)的 文件影像内部…
delphi编写dll心得 1.每个函数体(包括exports和非exports函数)后面加 'stdcall;', 以编写出通用的dll2.exports函数后面必须加'export;'(放在'stdcall;'前面)3.对于非exports函数可以使用string类型,而且建议使用string类型进行参数传递4.对于exports函数请使用PChar类型做参数传递5.如果exports调用其他函数,建议在exports函数体内使用变量过渡,然后再调用其他函数:  也就是说:尽量不要把expo…
Delphi :InputQuery,InputBox用法及区别 function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean; InputQuery返回值为是否点了OK 输入的字符串放在了变量Value中 function InputBox(const ACaption, APrompt, ADefault: string): string; inputBox返回值是字符串,也就是输入的字符串…
深入Delphi下的DLL编程 作者:岑心 引 言 相信有些计算机知识的朋友都应该听说过“DLL”.尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎样小心,没有驱动损坏,没有病毒侵扰,仍然在使用(安装)了一段时间软件后,发现windows系统越来越庞大,操作越来越慢,还不时的出现曾经能使用的软件无法使用的情况,导致最终不得不重装系统.这种情况常常是由于dll文件的大量安装和冲突造成的.这一方面说明DLL的不足,另一方面也说明DLL的重要地位,以至我们无…