摘要:
回调函数: 回调函数是这样一种机制:调用者在初始化一个对象(这里的对象是泛指,包括OOP中的对象、全局函数等)时,将一些参数传递给对象,同时将一个调用者可以访问的函数地址传递给该对象。这个函数就是调用者和被调用者之间的一种通知约定,当约定的事件发生时,被调用者(一般会包含一个工作线程)就会按照回调函数地址调用该函数。 这种方式,调用者在一个线程,被调用者在另一个线程。 在Windows API中有一些函数使用回调函数,例如CreateThread、SetWindowLong等。对应的回调函数定义为如下形式: function CallBackFunc(Wnd: HWND; Msg, WPara 阅读全文
摘要:
onclick是TNotifyEvent类型; type TNotifyEvent = procedure(Sender: TObject) of object; 就是说他是一个过程,而且是有一个TObject的参数,并且包含在一个对象里~~ 关于类的方法: (不是类方法,这里指object pascal中的静态方法,相当于C++的成员函数) 1: 带有隐含参数 self 2: 方法是方法,数据是数据。 3:Delphi的方法是一个结构 type TMethod = record ... 阅读全文
摘要:
Delphi自动管理的内存 Delphi中原子变量,如Integer、Boolean、Record、枚举等都是在作用域内编译器自动申请内存,出了作用域自动释放;另外,字符串、Variant、动态数组、接口也是由Delphi自动管理。 这些变量都是在栈中存储的,除了接口。另外,Variant是程序员用函数手工创建的,例如VarArrayCreate;动态数组也是程序员用函数手工创建的,例如SetLength,但这两种情况都不需要程序员自己释放。 另外,还有一种变量需要注意,是使用Threadvar声明的变量,它的作用域是一个线程。这主要用在编写线程函数时,每一个线程使用一个线程局部存储。 程序. 阅读全文
摘要:
句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。句柄实际上是一个标识符,是用来标识对象或者项目的,句柄是一个 32 位的正整数,Microsoft® Windows® 用它来识别窗体或其他对象,例如字体或位图。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用这个句柄,以引用相应的对象。在WINDOWS编程中会用到大量的句柄,比如:HINSTANCE(实例句柄),HBITMAP(位图句柄),HDC(设备描述 阅读全文
摘要:
1.从现象上看:指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变 2.从内存分配上看:程序为指针变量分配内存区域,而引用不分配内存区域 3.从编译上看:程序在编译时分别将指针和引用添加到符号表上,符号表上记录的是变量名及变量所对应地址。指针变量在符号表上对应的地址值为指针变量的地址值,而引用在符号表上对应的地址值为引用对象的地址值。符号表生成后就不会再改,因此指针可以改变指向的对象(指针变量中的值可以改),而引用对象不能改。指针与引用看上去完全不同(指针用操作符“*”和“->”,引用使用操作符“. ”),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。 阅读全文