//Create:
frm :=Tfrm.create(frm);
frm.Show;//Free:
frm_Flash.Free;

解决方案 »

  1.   

    var
     dd:Tform;
    begin
      dd:=tform.create(dd);
      dd.parent:=form1;
      dd.show;
    end;
      

  2.   

    同意楼上,当然,作为mid窗体,你需要的属性可以在其中设置
    var
     dd:Tform;
    begin
      dd:=tform.create(dd);
      dd.parent:=form1;
    //设置属性
      dd.show;
    end;
      

  3.   

    你们也许理解错我的意思了,我是说:假使当前工程中有Form1,form2,form3.....form10,其中Form1为主窗体,Form1中有一个Edit1,我想在Edit1中输入对应的Form名,如:Form2,form3.....form10,则它能自动的把Form2,form2.....form10显示出来。
      

  4.   

    var
      Form: TForm;
    begin
      Form := TForm(FindClass(Edit1.Text)).Create(Application);
      try
        Form.ShowModal;
      finally
        Form.Free;
      end;
    end;
      

  5.   

    var
      df: TForm;
    begin
      df := TForm.Create(Self);
    if Edit1.text = 'form2' then
    begin
      TForm2(df).Show;      //以此类推  
    end;
      

  6.   


      FormName:=TFormName.create(nil);
      FormName.show;如果TFormName中没有声明FormName,则在前加上
    var
      FormName:Tform;
      

  7.   

    用 Windows API 函数:
       hwndChild := FindWindowEx(Application.Handle, 0, PChar(Edit1.Text), Nil);
    若 hwndChild > 0 则 ShowWindow(hwndChild, SW_SHOW);
      

  8.   

    不可能实现.只能输入类名,然后产生一个实例.先定义类型
    type tformclass=class of tform;然后...  (呵呵,相信你能自己写出后面部分!)若有问题,给个信箱,我发个例子给你.
    其实这类似ide中动态生成控件的实例.
      

  9.   

    var
      df: TForm;
    begin
      df := TForm.Create(Self);
    if Edit1.text = 'form2' then
    begin
      TForm2(df).Show;      //以此类推  
    end;
      

  10.   

    procedure showchildforn(aFrom:Tform) 
    try
    aFrom:=Tform.create(self);
    afrom.showmodle;
    finally
    aform.free;
    end;
      

  11.   

    定义一个窗体变量
    k:integervar
      theForm : TForm;
    begin
      inc(k);
      theForm := TForm.Create(Application);
      theForm.Name :=Edit1.text+inttostr(k);
      theForm.Show;
    end;
      

  12.   

    ‘動態創建’是指设计阶段没有设计的组件,
    ‘自动地把Form2,form2.....form10显示出来’则应理解为原来已经存在(可能是设计阶段设计好的,也可以是在此之前‘動態創建’的),而只是因为某种原因(如visible=false) 而没有显示出来。
    不知 reaky(Reaky)指的是哪一种? 
      

  13.   

    你的意思是把Form名字放在数据库中通过读取数据库得到Form名,再显示此Form吧!我得建议你可以做成DLL,把Form文件名称写成此DLL的一个函数,显示此Form就是调用此Dll的函数!
      

  14.   

    给你一段代码写DLL文件如下:
    ....
    procedure show_bj_jysjsr(handle:Thandle);stdcall;
    begin
      Application.CreateForm(TBj_Xcjy_Frm, Bj_Xcjy_Frm);
      try
        Bj_Xcjy_Frm.ShowModal
      finally
        Bj_Xcjy_Frm.Free
      end
    end;
    .........动态调用DLL
    ...
    TProc = Procedure(handle :THandle)  ;Stdcall;      //DLL调用接口过程
    TFunc = function(handle :THandle):TForm  ;Stdcall; //DLL调用函数
    ...
    procedure RunDll(FunName:string;DllName:string); //运行DLL中的函数
    var
      Hinst:THandle;
      Fpointer:TFarProc;
      Myproc: TProc;
    begin
      Hinst:=0;
      try
      Hinst := LoadLibrary(Pchar(DllName));
      if  Hinst >0 then
      begin
        Fpointer := GetProcAddress(Hinst,Pchar(FunName));
        if  Fpointer <> nil then
        begin
    //      SetGobalVar(Hinst);
          Myproc :=  TProc(Fpointer) ;
          Myproc(Application.Handle) ;
        end
        else Showmess('E:错误信息',Format('在DLL: %s 中未找到函数:%s !',[DllName,FunName]));
      end
      else Showmess('E:错误信息',Format('装载DLL:%s 错误!',[DllName]));
      finally
        FreeLibrary(Hinst);
      end;
    end;
      

  15.   

    1,你需要显示的窗口是不是已经创建好了的?而且它的Name属性就是你输入
      的名字,需要做的只是把它显示出来?
      如果是的话,可以通过主窗口的MDIChildCount属性和MDIChildren数组来遍
      历所有的MDI子窗口来找到你需要激活的窗口。
    2,如果你的窗口还没有创建,那么给出一个类名,同样可以把它创建起来,
      不过你需要给你的窗口注册一下。用到的函数是RegisterClass(Class).
      然后可以通过下面的方式来进行创建
    function CreateFormByClassname(sClassName: String): TForm ;
    var
      rClass: TClass ;
    begin
      rClass := GetClass(sClassName) ;
      if  rClass <> nil  then
        application.CreateForm(TComponentClass(rClass),Result) ;
    end ;
      

  16.   

    if edit1.text=trim(form2) then
      form2.show;
      

  17.   

    平时我们创建一个窗口用:
    form2:=TForm2.create(self);
    form2.show;
    那TForm2可不可以做为一个变量,就好像是Edit1.text
      

  18.   

    用我的方法时,你每个FORM中要包含以下初始化部份:
    如:Form2中包含
    initialization  RegisterClass(TForm2);finalization  UnRegisterClass(TForm2);end.
     相应的Form3为
    initialization
    initialization  RegisterClass(TForm3);finalization  UnRegisterClass(TForm3);end.
     
    否则会报找不到指定的类
      

  19.   

    icesnowerls(ls) 請問如何調用這些Form呢?