如果在数据库中存储了一个项目所有的FORM名称,怎么样才能实现随时创建对应的FORM??? 盼赐教??

解决方案 »

  1.   

    在您的主程序中定义一个变量, 类型为TForm即可
    var
      MyForm: TForm;
      MyButton: TButton;
      MyPic: TBitMap;
    begin
      MyForm := TForm.Create(Application);
      MyButton := TButton.Create(MyForm);
      with MyButton do
      begin
        Parent:=MyForm;
        Top:=...
        ...
      end;
      ....
      MyForm.showModal;
      MyForm.Free;
      MyForm:=nil;
      ....
    end;如果要用MyForm.Show的话, free可能有点麻烦, 可以通过给主程序post一个
    message让主程序调用MyForm.close关闭form, 然后再free. 
      

  2.   

    楼上大哥可能没看清楚我的意思,我是指在一个项目中,所有的FORM一开始不创建,在需要的时候查询数据库得到form名称,从而创建并显示它,事先并不知道该form对应的类,所以创建语句不知道该怎么写.
      

  3.   

    这里有一个用API创建窗体的帖子,你参考一下:
    http://expert.csdn.net/Expert/topic/1329/1329475.xml?temp=.1413996
      

  4.   

    Sorry,没找到。有一个函数叫FindCompenXXX的,你在联机帮助里查一下