关于网友提出的“ 我有一个模板form,我通过它生成了10个新form,但为什么有些变量会通用???”问题疑问,本网通过在网上对“ 我有一个模板form,我通过它生成了10个新form,但为什么有些变量会通用???”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 我有一个模板form,我通过它生成了10个新form,但为什么有些变量会通用???
描述: 我有一个模板form,名为frmScan;
在frmScan中,我定义了一个变量aaa 。
public
{ Public declarations }
end;
var
frmScan: TfrmScan;
aaa :Integer ;
implementation
然后在formCreate事件中,赋值给aaa
aaa := 0 ;
在其它事件中,会把aaa的值改为 1 .
然后我通过frmScan生成了10个新的form.代码如下:
var f:TfrmScan ;
i:Integer ;
begin
while i:= 0 to 10 do
begin
application.CreateForm(TfrmScan,F);
f.Name := 'frm_scan' + IntToStr(i) ;
f.show ;
f.SendToBack ;//把新建的页放在最后
end ;
end ;
但是有下面这个问题。
当我关闭frmScan1时,frmScan2就可以看到了。
但是由于我在frmScan1中已经把aaa改成了1.
在frmScan2中,我的aaa的值也变成了1.
也就是说,如果frmScan1中把aaa的值改成了1,
那后面的frmScan2,frmScan3,frmScan4,frmScan5,frmScan6,的aaa的值都变成了1,
为什么会这样。???
应该怎样才能使 frmScan1中改变的值不影响其它的form的值???
以上介绍了“ 我有一个模板form,我通过它生成了10个新form,但为什么有些变量会通用???”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2794690.html