我通过字符串,动态创建FORM,我USES了对应的窗体文件,注册了窗口类,但是在FINDCLASS的时候还报错,说未找到类TWjdEdit_Sears,不知道为啥
procedure TWjd_list.opendata(_nodeid:Integer;_khid:integer);
var
   _res:Integer;
   FindForm:TForm;
   FindFormClass:TFormClass;
   classname:string;//窗体类名
begin
     classname:='WjdEdit_Sears';
     FindForm:=Tform(classname);
     FindFormClass:=TFormClass(FindClass('TWjdEdit_Sears'));//这句就报错
     application.Createform(FindFormClass,FindForm);
     _res:=findform.ShowModal;
      if _res=6 then
      begin
          refreshbtn.Click;
      end;
 end;initialization
begin
    RegisterClass(TWjdEdit_Sears);
end;

解决方案 »

  1.   

    //我贴相关的代码给你看看, 你的很多问题unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      Form2Class:TClass;
      Form2:TForm2;
    begin
      Form2Class:=FindClass('TForm2');
      Form2:=TForm2(Form2Class.NewInstance);
      Form2.Create(Self);
      Form2.Show;
    end;end.
    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm2 = class(TForm)
      private
        { Private declarations }
      public
        { Public declarations }
      end;  TForm2Class=class of TForm2;implementation{$R *.dfm}Initialization
      RegisterClass(TForm2);finalization
      UnRegisterClass(TForm2);end.
      

  2.   

    按照上班的方法做了,发现还是不行,但是又这样一个问题,在项目文件里如果USES了一个MDIFORM就又问题,如果去掉就没有问题了。而且我上边的TWjd_list是一个MDICHILDFORM,不知道是不是和这个有关系。
      

  3.   

    肯定是MDI的问题了, 如果是MDI ShowModal 要把
    Visula属性设为False才行(经验总结).
      

  4.   

    问题解决了,是有一个窗体引用了一个我自己写的组件。一旦不引用这个组件就没有问题,但是这个组件本身有找不到什么问题,USES 了Graphics就有问题,去掉,保存,添上再保存,编辑就没问题了,狂诡异,感觉像是梦游。还是要谢谢楼上的回帖。给分。