首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

鬼打墙:RegisterClass后FindClass窗体后无法SHowModul,该如何处理

2013-01-26 
鬼打墙:RegisterClass后FindClass窗体后无法SHowModul以前的程序一直运行的正常,也没修改什么,很突然的,正

鬼打墙:RegisterClass后FindClass窗体后无法SHowModul
以前的程序一直运行的正常,也没修改什么,很突然的,正常的功能不能使用了,查了很久没有打到原因:

现仅仅做了个简单的测试:

一、新建工程,分别建立两个窗体:Form1 Form2,
二、Form1上加一个按钮Button1,其事件为:

procedure TForm1.Button1Click(Sender: TObject);
var 
  f:TForm;
begin
f :=TForm(FindClass('TForm1')).Create(nil);
f.ShowModul 
end;

initialization
  Classes.registerclass(TForm1);


当点击Button1时会报错误:cannot make a visible windows 

之所以用FindClass是为了按窗体名称(存于数据库中),动态调用模块

鬼打墙了,以前正常运行,现在怎么折腾都不行了

应该是很平常的错误,却弄了几天也不知道怎么调通了。按网上的说法也不都不行,跪求高手指点!!


急急急!!
[解决办法]
if f.Visible then f.Visible := false ; 
f.ShowModule;
[解决办法]
楼主这句话写错了


procedure TForm1.Button1Click(Sender: TObject);
var  
  f:TForm;
begin
  f :=TForm(FindClass('TForm1')).Create(nil);
  f.ShowModul;
end;

应该为

procedure TForm1.Button1Click(Sender: TObject);
var  
  f:TForm;
begin
f :=TFormClass(FindClass('TForm1')).Create(nil);
f.ShowModul  
end;

热点排行