请问这样会不会造成内存汇漏?谢谢!

解决方案 »

  1.   

    最好用完就free掉,否则可能......用c写会出问题吧,内存溢出,死机什么的,
    用他可以,最好放掉
      

  2.   

    还是把tstringlist当作参数传递比较保险。
    procedure proc(var sl: tstringlist);
      

  3.   

    讨论与学习:返回对象的函数的内存释放问题 
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=1583341
      

  4.   

    TSTRINGLIST传递的是指针,所以推荐传递参数;
    PROCEDURE TEST(P:TSTRING)
      

  5.   

    建议这样:
    TStrings(或TStringList)在调用前实例化。
    {-------不推荐的方式--------}
    procedure proc(var aStrs: TStringList);
    {----------------------------}
    {-------建议的方式-----------}
    procedure proc(aStrs:TStringList);
    {----------------------------}
    实际应用例子:
    procedure TADOConnection.GetTableNames(List: TStrings;
      SystemTables: Boolean);
    在这儿,传入参数LIST必须先实例化。。
    比如用。。
    ADOConnection.GetTableNames(Meme.Lines);