var forma,formb,formc:tform1;
在窗体创建时怎样判断是创建的是froma、formb或formc呢,还有其他什么方法没有,如果有请各位大侠指教。

解决方案 »

  1.   

    你为什么这样写呢,好奇怪
    我有点不大明白你的意思
    你的意思是不是要这个:
    Forma := TForm1.Create(self);
      try
        Forma.ShowModal;
      finally
        Forma.Free;
      end;
      

  2.   

    TForm(self).Name   判斷這個就行
      

  3.   

    可设置Name,Tag或者Caption来识别,不过要创建同一窗体的多个实例不必要设那么多变量,而且实例的Name不是变量名。比如,窗体类为TForm2,创建3个实例
    for i := 0 to 3 do
      with TForm2.Ctrate(Application) do
        Show;
    我这里没设置变量,3个窗口的缺省Name分别为Form2_1,Form2_2,Form2_3。设置变量的结果也是这样,如果你要以Name来识别,可自己给Name赋值,如:
    for i := 0 to 3 do
      with TForm2.Ctrate(Application) do
      begin
        Name := 'MyForm' + IntToStr(i + 1);
        Show;
      end;