在 Delphi XE6 中,我有一个名为 WordDict 的 TDictionary,它包含 TWordRec 的实例。定义是:
WordDict: TDictionary<string, TWordRec>;
...
type
TWordRec = class
public
RemoveAlways: Boolean; // Is this CORP LLC, etc?
RemoveRestricted: Boolean;
Replace: Boolean;
ReplaceWith: string;
Constructor Create(B1, B2, B3: Boolean; S1: String); overload;
end;
当我创建和加载字典时......
WordDict := TDictionary<string, TWordRec>.Create;
WordDict.Add('CO', TWordRec.Create(True, False, False, ''));
WordDict.Add('CORP', TWordRec.Create(True, False, False, ''));
...
我遇到了内存泄漏,并且使用 AQTime,它显示我的 TWordRec 的每次出现都是“泄漏”内存。如果我将 WordDict 条目创建为 TWordRec,加载后如何处理它们?我要处理它们吗,因为这不只是字典中指向实际对象的指针吗?
我是否在加载后立即处理 TWord?只有当应用程序关闭时,我才从我的字典中删除所有条目吗?我显然不明白为什么我在 TWordRec 上出现内存泄漏,所以我不知道如何解决它......
谢谢!