我想实现以GC_CurForm这个变量来打开指定窗体的功能,但是不知道怎么写
我大概是这么写的,哪位高手指点我var GC_CurForm:TForm
begin
    ..
    GC_CurForm.Name :=Adoquery1.FieldByName('窗口名称').AsString;//这里报错
    GC_CurForm.Create(Self);
    GC_CurForm.ShowModal;
    ..
end;

解决方案 »

  1.   

    var GC_CurForm:TForm
    begin
        ..
        GC_CurForm := TForm.Create(Application);
        GC_CurForm.Name :=Adoquery1.FieldByName('窗口名称').AsString;
        GC_CurForm.ShowModal;
        ..
    end;
      

  2.   

    楼主见这个帖吧http://community.csdn.net/Expert/topic/2658/2658308.xml?temp=.3269159
      

  3.   

    var GC_CurForm:TForm
    begin
        ..
        GC_CurForm := TForm.Create(Application);<--在这里TForm改成你所要创建的窗口类名。
        GC_CurForm.ShowModal;
        ..
    end;------------------------------------
    体验速度,体验CSDN新版论坛助手:http://community.csdn.net/Expert/TopicView.asp?id=3108679
      

  4.   

    var GC_CurForm:TForm
    begin
        ..
        GC_CurForm := TYourFormClassName.Create(nil);<---据某人(怕有打广告之嫌)书上记载,这里传入nil在效率上要好些
        GC_CurForm.ShowModal;
        ..
    end;
      

  5.   

    TForm(FindComponent(Adoquery1.FieldByName('窗口名称').AsString)).ShowModal;   
      

  6.   

    多谢S.F.(CSDN:896410000)看了你的帖子了 王道
      

  7.   

    //首先注册你的类名
    initialization
      RegisterClasses(MyFormArray);  //注册类名procedure ShowMyForm(FormName:String;flag :integer=0);
    //创建一窗体,然后显示
    begin
      with TFormClass(FindClass(FormName)).Create(Application)do
      begin
        try
          tag := flag;
          showmodal;
        finally
          free;
        end;
      end;end;