我做了一个报表,在一个按钮的click中调用.报表.preview....点按钮正常显示...关掉报表再点按钮..出错..说一个名为报表的实例已经存在了..
var
qr_paihangbang:Tqr_paihangbang;
begin
 qr_paihangbang:=Tqr_paihangbang.Create(self);
 qr_paihangbang.Preview;
end;
就是上面的代码..怎么改一下啊..

解决方案 »

  1.   

    当然会出错了,
    第二次点的时候qr_paihangbang已经存在了。var
    qr_paihangbang:Tqr_paihangbang;
    begin
     if qr_paihangbang <> nil then
          qr_paihangbang:=Tqr_paihangbang.Create(self);
     qr_paihangbang.Preview;
    end;
      

  2.   

    写错了。呵呵。。改正一下,应该是:
    var
    qr_paihangbang:Tqr_paihangbang;
    begin
     if qr_paihangbang = nil then
          qr_paihangbang:=Tqr_paihangbang.Create(self);
     qr_paihangbang.Preview;
    end;
      

  3.   

    var
    qr_paihangbang:Tqr_paihangbang;
    begin
      try
        qr_paihangbang:=Tqr_paihangbang.Create(self);
        qr_paihangbang.Preview;
      finally
        qr_paihangbang.free;
      end;
    end;