假设内存中已经创建了ReportPreview窗体;就不需要用下面的语句了,ReportPreview:=TReportPreview.Create(self);那我怎么知道此窗体已经创建了呢

解决方案 »

  1.   

    呵呵,可以这样
    if ReportPreview=nil then
    ReportPreview:=TReportPreview.Create(self)
    ReportPreview.show;但要在ReportPreview的ONCLOSE事件中写入
    ReportPreview:=NIL;
    ACTION:=CAFREE;
      

  2.   

    当使用Var申明了窗体对象后再使用构造器构造实际对象,先前申明的对象指针开始有效!所以可以使用Assigned函数进行判断if Assigned(ReportPreview) then
      ShowMessage('已经创建!');和上面这个朋友说的一样,在关闭的时候必须将对象实体和指针全部释放掉
      

  3.   

    if Assigned(ReportPreview) then
      

  4.   

    Assigned(TForm)---------------------------------------------------------------------
                               该学点什么?
    ---------------------------------------------------------------------
      

  5.   

    if ReportPreview=nil then 
       创建关闭时ReportPreview:=nil;
      

  6.   

    if form1=nil then
    showmessage('还没有创建')
    else
    showmessage('已经创建');
    你可以式一式