有A和B两个窗口,分别能SHOWMODAL一个窗口C,如果知道C是A还是B创建的?

解决方案 »

  1.   

    ShowModal之前用变量保存一下是A还是B就行了吧?
      

  2.   

    要看你的创建方式了。参考下面这个
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Form2 := TForm2.Create(self);
      form2.show;
      ShowMessage(form2.Owner.Name);
    end;
      

  3.   

    我是想用查找窗体的方法做,但是不管这个窗体是自动创建合适手动创建,居然都能找到,很怪异
    if FindWindow(nil, 'editrecord_Frm')>0 then
      begin
        showmessage('editrecord_Frm');
      end;  if FindWindow(nil, 'addrecord_Frm')>0 then
      begin
        showmessage('addrecord_Frm');
      end;
      

  4.   

    C里多设一个Fcreateor:Tform;
    实际创建后,showmodel前,先设置
      

  5.   


    Create(参数),最好用nil。
      

  6.   

    Owner是由Create(AOwner: TComponent);中AOwner决定的;
    如果都是self,或者某个窗体、容器...,用Owner是可行的但AOwner若是nil就会报错,是application就是空的;这就不行了