我设计了两个FORM,其中FORM1中调用FORM2,并且在初始化时想将参数传递给FORM2,而FORM2在CREATE时能够通过参数选择显示的内容。我是这样设计的:
在FORM2中放置一个public arg: Integer
FORM1是这样调用的:
form2 := tapplication.createform(tform2, form2);
form2.arg := 1;
form2.showmodal;
form2.free;而form2中的create是这样处理的:
if arg=1 then
...
else
...事实上,运行的结果为arg总是不会为1的,除非我把这段代码放置到form2的show事件中才行,有没有办法能够让FORM在CREATE时就初始化参数呢?
在FORM2中放置一个public arg: Integer
FORM1是这样调用的:
form2 := tapplication.createform(tform2, form2);
form2.arg := 1;
form2.showmodal;
form2.free;而form2中的create是这样处理的:
if arg=1 then
...
else
...事实上,运行的结果为arg总是不会为1的,除非我把这段代码放置到form2的show事件中才行,有没有办法能够让FORM在CREATE时就初始化参数呢?
解决方案 »
- 招聘感想(含面试题)
- 关于结构和指针的问题
- 一个关于多个服务器切换的问题!(真的很急!,请帮帮忙!)
- 动态数组的问题,进来看看吧。
- 我安装了DELPHI7.0,但在VCL找不到QREPORT这页了。怎样把QREPORT组件加进来?
- 如何触发动态创建的按钮的事件?
- CXGRID问题
- 急------delphi中的PARADOX数据库的问题???
- 存储过程的嵌套调用另一个存储过程,这样写对吗?
- 用Delphi编写DLL是否一定要给这个DLL编写一个接口文件!
- delphi怎样编写服务程序-Service Application,编好了怎么安装这个服务以及调试???
- 请问是做1500/月的开发的工作好还是做3000/月的维护的工作好
var
vForm:TForm2;
begin
vForm:=TForm2.Create(nil,parame);
...
end;
大概是这样的。
constructor TAnalyseFrm.Create(AOwner: TComponent;arg:integer);
begin
inherited Create(AOwner);
case arg of
...
end;
在FORM1中放置一个public arg: Integer
FORM1是这样调用的:
form1.arg := 1;而form2中的create是这样处理的:
if form1.arg=1 then
...
else
...
可在初始化窗体中的public 中申请一个变量
在初始化窗体后,再传这个变量值
也可以把调用窗体中show事件与变量容入一个自定义的函数中