如题,谢谢指点!

解决方案 »

  1.   

    问题可不可以详细一点>>
      

  2.   

    大致上是如下的意思:var FormName:String;
    begin
      with Query1 do
      while not EOF do
      begin
        FormName:=FieldByName('表单名').asText;
        //需要在此处运行FormName中所指向的表单,如何实现?
        Query1.next;
      end;
    end;
      

  3.   

    type TFormClass = class of TForm;function CreateForm(FormClass: TFormClass;const FormName: string): TForm;
    begin
      Result := FormClass.Create(MainForm);
      with Result do
      begin
        Parent := MainForm;
        Name := FormName;
        Visible := True;
      end;
    end;
      

  4.   

    TO:  steelhorse(吾尝终日而思矣,不如须臾之所学也)
        您这是运行中建立表单,而我的意思是指,那些表单都是早已建好的,并且也知道它们的名字,并把那些名字组织到一个菜单表中.运行时,Query1从这个菜单表中读入资料,然后一个一个地分配菜单项和对应的表单.当用户选中菜单时,就可以运行相对应的表单.(都怪我前面没有说清楚.)
      

  5.   

    with T表单名.Create(Application) do
        begin
          Show;
        end;
    兄弟以前搞vf吧 跟d还是有区别的
      

  6.   

    Changefish(刘家25连拖) : 您说的极是,而且我也姓刘。
    您的 "T表单名" 又从哪里来呢? 它是一个常量。
    比如 FormName:='Form3',当然我们知道它的你类是 Tform3 。但是FormName中的内容是动态变化的,如何弄呢?
      

  7.   

    http://www.delphibbs.com/keylife/iblog_show.asp?xid=343
      

  8.   

    从  ysai(蓝色忧郁)  提供的链接中可以找到正确答案.谢谢并结帖!