子窗口内变量赋值问题?(200分)

  • 主题发起人 主题发起人 jazz88
  • 开始时间 开始时间
J

jazz88

Unregistered / Unconfirmed
GUEST, unregistred user!
在MDI程序中我用CreateMDIChild('文档' + IntToStr(MDIChildCount + 1));
语句创建子窗体。
在子窗体中变量采用如下定义:

implementation
{$R *.DFM}
uses main,totext;
var
C_Change :boolean

cf_Ls : real ;
当我创建多个子窗体时,我的两个变量还是同一个(赋值为最后修改数据)。
问在怎样才能在CreateMDIChild()创建的多个子窗口中C_Change ,cf_Ls各自独立?
(即每个子窗体变量值都不一样)
 
type
TFrmDBEdit = class(TForm)
.......
protected
C_Change :boolean

cf_Ls : real ;
end;
implementation
{$R *.DFM}
uses main,totext;

 
怎么不把代码贴完整呢?
从代码来看,
var
C_Change :boolean

cf_Ls : real
是全局变量,是各个对象共用的.当然会互相影响了.
要不让它互相影响,可以把这些变量放在类中来声明.
如在private,protected,public来声明变量.这样就
互相独立的.
 
type
TFrmDBEdit = class(TForm)
.......
public
C_Change :boolean

cf_Ls : real ;
end;
implementation
{$R *.DFM}
uses main,totext;
 
多人接受答案了。
 
后退
顶部