1.函数需要初始化,否则下次调用函数时,Result还是上次的值,可能会引起误判.但是不会有内存泄漏,即使包含string类型的成员. 2.如果record包含的都是值类型的成员,比如integer,可以用ZeroMemory或者FillChar,函数多次调用时也不会内存泄漏. 如果,包含string类型的成员,不能用ZeroMemory或者FillChar,否则函数多次调用时会内存泄漏. 3. procedure ResetRecord(out aRecord; Size: Integer);