如果需要传递对象参数则放在函数参数里,这样就由调用者来创建和释放对象。 例:[允许] function SomeOne(list:PStrList):boolean; 当然,NewXXX之类的创建对象的函数除外。一直存在的全局对象也除外,这些全局对象将在初始化时创建,结束时释放。 类定义中如果重载了Destory必须在里面加上inherited,否则不会释放的。 使用对象(object)还是记录结构(record)。 在有关性能方面的服务程序中: 只产生单个实例或少于10个实例则允许使用对象。 否则一律使用记录结构。 在GUI方面都使用对象,但是不得超过五级继承。 纯数据信息必须使用记录结构。 错误、异常处理规则: 1.Test,Check,Is开头的函数并不抛出异常,只检验。 2.其他函数遇到错误或异常都要抛出异常,使用raise显式抛出, 并且在函数文档中注明抛出异常的种类,方便使用者处理。 3.如果需要屏蔽异常,则显式地写 try..except语句拦截。创建和释放 在什么情况下使用free,什么情况下使用freeandnil。 1.free之后不再使用的函数局部变量要使用free。 2. 全局变量或者Free后继续使用的变量要使用FreeAndNil; 转载于:https://www.cnblogs.com/lzj1981/archive/2013/04/29/3050595.html