col*_*lin 3 delphi record tstringlist
是否有可能在记录中有一个字符串列表?例如
TImportStats = record
ATotal:Integer;
BTotal:String;
AList:TStringist;
end;
Run Code Online (Sandbox Code Playgroud)
如果我认为我需要在使用记录之前创建它?
虽然这是完全合法的,但找到另一种方式可能是谨慎的.当你说:
我认为我需要在使用记录之前创建它
不仅如此,你还需要找到一个摧毁它的好时机.如果您忘记这样做将没有错误,但您的程序将泄漏内存.
如果记录是字符串列表的所有者,那么最好将其包含在类中.这样,字符串列表的构造和销毁将遵循所有Delphi开发人员都熟悉的构造函数/析构函数模式.
如果记录不拥有字符串列表,但只是在字符串列表的生命周期内对它进行引用,那么记录就可以了.但是如果你这样做,请确保记录的生命周期包含在字符串列表的生命周期内,这样你就不会携带陈旧的引用.