一键导入
memory-safety
Delphi memory and resource management patterns
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Delphi memory and resource management patterns
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | memory-safety |
| description | Delphi memory and resource management patterns |
TInterfacedObject provides automatic reference counting. When the last interface reference goes out of scope, the object is freed automatically. Always assign to interface-typed variables to activate reference counting.
If you call Create, you must call Free (unless the object is managed via interfaces). No exceptions.
All resource allocations must be wrapped in try/finally:
LStream := TFileStream.Create(APath, fmOpenRead);
try
// use LStream
finally
LStream.Free;
end;
Router4D uses MAX_FRAME_COUNT = 25 to limit the number of cached frames. When the cache exceeds this limit, the oldest entries are removed to prevent unbounded memory growth.
TInterfacedObject instance causes premature or double frees. Pick one.nil to avoid dangling pointer access.Use FreeAndNil for owned objects in destructors to safely release and nil fields:
destructor TRouter4DHistory.Destroy;
begin
FreeAndNil(FList);
inherited;
end;