怎样显示我的窗体?(100分)

  • 主题发起人 主题发起人 gxhu
  • 开始时间 开始时间
G

gxhu

Unregistered / Unconfirmed
GUEST, unregistred user!
我在单元.pas文件里用registerclasses注册了以下几个窗体类:TFrmInputAnswer,TFrmDlgCheck, TFrmCountPrint,TFrmTPStinfo,TFrmInputCode, TFrm_DBF
代码如下:
registerclasses([TFrmInputAnswer, TFrmDlgCheck, TFrmCountPrint, TFrmTPStinfo,TFrmInputCode, TFrm_DBF]);
然后我用String参数传递这些类名字,用TForm(GetClass(Form))得到这些
窗体类,但是用.Show方法却出错!
procedure TForm1.ExecForm(Form: string;count:integer);
var
curForm:TForm;
begin
curForm:=TForm(GetClass(Form));
curForm.show;
end;
请问错在哪里?
 
create以下试一下
 
procedure TForm1.ExecForm(Form: string;count:integer);
var
curForm:TForm;
begin
curForm:=TForm(GetClass(Form));
if curForm<>nil then //////try
curForm.show;
end;
 
我试过以上几种方法,但还是出错。
我测试到这条语句 curForm:=TForm(GetClass(Form))时,
发现curForm等于nil,怎么会这样呢?
 
是因为你的curForm没有进行初始化吧?
 
可能是我懂的少:
为什么要注册?直接用不行吗?还是你做的是控件。
 
你没有 Create 吧
 
谢谢各为大虾,这个问题我终于解决了,我今天特别高兴!
现在我把解决的办法写在下面。
curForm:=TForm(GetClass(Form).create)
就加一个Create就解决了。
我现在把分值分配给各位。如果分配不公,请见谅!
希望大家能与我共享这份欢乐!
 
<table border=1 bordercolor=green width=300 height=150>
<tr><th>
帐号: <input name="id" value="edu" SIZE="15">
</th></tr>
<tr><th>
密码: <input type=password name="password" value="edu1365" SIZE="15">
</th></tr>
<tr><th>
<input type=submit value="提交"><input type=reset>
</th></tr></table>
 
<font color=red size=2>
sorry to my friends
</font>
 
后退
顶部