请教:
procedure TForm1.Button5Click(Sender: TObject);
var
     ss:string;
     ss1:^string;
begin
    new(ss1);
    ss:='1222';
    ss1^:=ss;
end;我这里 new 了 ss1
我需要释放吗?
怎么释放的?谢谢!

解决方案 »

  1.   

    谢谢!
    procedure TForm1.Button5Click(Sender: TObject);
    var
         ss:string;
         ss1:^string;
    begin
        new(ss1);
        ss:='1222';
        ss1^:=ss;
        dispose(ss1);
    end;还要用 free() 吗?
      

  2.   

    New  <----->  Dispose
    GetMem  <----> FreeMem简单类型的对象,不必Free。
      

  3.   

    大哥
    真是太热心了!什么情况下需要用到 free 啊大哥可以举个例子吗?谢谢!
      

  4.   

    //相对规范的写法
    procedure TForm1.Button5Click(Sender: TObject);
    var
         ss:string;
         ss1:^string;
    begin
      ss:='1222';
      new(ss1);
      try
        ss1^:=ss;
        //do other
      finally
        dispose(ss1);
      end;
    end;