1. 如果想你的程序能够正确处理异常情况的话,请引用sysutils.pas单元,否则即使程序使用了try...except...也不能正确捕获异常.
resourcestring 【程序编程相关:多层数据库开发十二:使用数据控件】
2. 定义常量字符串的一种方式 【推荐阅读:DBGrid使用全书(二)】
raise exception.createres(@aa); 【扩展信息:多层数据库开发十三:剖析几个数据库应用程】
aa=aaaa;
3. 字符串常量数组的初始化
const constarray:array [0..2] of string=(‘first’,’second’,’third’);
4. 结构体初始化
type tstructinit=record
a1:integer;
a2:array [0..2] of integer;
end;
const m_structinit:tstructinit=(a1:0;a2:(0,1,2));
5. 多维数组的长度
var array2:array of array of integer;
setlength(array2,2,2);
6. 使用create与new开辟的空间都存在于堆中,不能自动释放,建议使用freeandnil释放, 参数以及局部变量存在于栈中,自动释放.
7. sizeof不适合于对象,返回的总是4;对于固定类型可以正确返回.
8. create(nil)需要手工释放,creat(self)会随着拥有者的释放而释放.
9. 动态改变已定义常量的值
procedure changeconst(const const;var value;size:integer);
begin
move((@value)^,(@constant)^,size);
end;
10. 进行删除操作的时候循环使用downto,会避免错误.
11. 汉字的ascii码>128,可以用它来判别是否为汉字
12. dll编写中,需要使用sharemem单元来引用borlandmm.dll内存管理.
13. postmessage只将消息放到消息队列中,需要排队等待处理.
sendmessage绕过消息队列直接发送到窗口过程,等到消息处理返回值才返回.
14. 鼠标移入移出消息:cm_mouseenter,cm_mouseleave
... 下一页