C
cxx1997
Unregistered / Unconfirmed
GUEST, unregistred user!
1:由于程序中TStrings与TStringlist用的很多,但两者并不互相通用,特别是作为函数参数时。
由于DELPHI类型要求比较严格,特别在VAR 型时,必须要自己转换、释放,相当烦人。
如procedure Compare2StrL(StrL1:TStringlist;var StrL2:TStringlist);
而我有两个TSTRINGS的,就无法直接用。要不就要重载这个函数。不知道各位大侠有何高见
2:为了解决这个问题,我写了个函数function StrsToStrList(strs:TStrings):TStringList;
begin Result:=TStringList.Create;Result.AddStrings(strs)
end;
但用的时候,
var
strl:TStringList;
begin
strl:= StrsToStrList(Memo1.Lines);
strl.Free
必须要自己释放,否则内存就被消耗掉了。
Compare2StrL(StrsToStrList(Memo1.Lines),StrsToStrList(Memo2.Lines));
也不能直接这样用,内存被消耗了。
end;
不知道各位又有何高见??
由于DELPHI类型要求比较严格,特别在VAR 型时,必须要自己转换、释放,相当烦人。
如procedure Compare2StrL(StrL1:TStringlist;var StrL2:TStringlist);
而我有两个TSTRINGS的,就无法直接用。要不就要重载这个函数。不知道各位大侠有何高见
2:为了解决这个问题,我写了个函数function StrsToStrList(strs:TStrings):TStringList;
begin Result:=TStringList.Create;Result.AddStrings(strs)
end;
但用的时候,
var
strl:TStringList;
begin
strl:= StrsToStrList(Memo1.Lines);
strl.Free
必须要自己释放,否则内存就被消耗掉了。
Compare2StrL(StrsToStrList(Memo1.Lines),StrsToStrList(Memo2.Lines));
也不能直接这样用,内存被消耗了。
end;
不知道各位又有何高见??