在 fsMDIForm 如何得到ActiveMDIChild 的某变数值? ( 积分: 10 )

  • 主题发起人 主题发起人 lordofbinladen
  • 开始时间 开始时间
L

lordofbinladen

Unregistered / Unconfirmed
GUEST, unregistred user!
fsMDIChild 有个全局(Public) 变数x
问: 在 fsMDIForm 如何得到ActiveMDIChild 的x 值?
 
fsMDIChild 有个全局(Public) 变数x
问: 在 fsMDIForm 如何得到ActiveMDIChild 的x 值?
 
引用fsMDIChild單元,然後就可以用窗體名稱.X訪問了。
 
还不如把x做成全局变量。
 
是说放在fsMDIform吗?
可是每个Child 的值都不一样
 
建立一个TmyChildForm的类(从TForm继承),里面定义x为private,再定义一个public函数GetX。
然后其它的fsMDIChild均从TmyChildForm继承就可以了。
 
chnplzh,可再详细些吗?
 
如果每个 MDIChild 都要用到的话,不如利用 Tag 来做
定义一个全局数组变量 ArrX
MIDChild 的 Tag 记录一个在 ArrX 中的索引值
然后用 ArrX[ActiveMDIChild.Tag] 得到该 MDIChild 对应的值
 
procedure ChildForm.FormCreate();
var
c: Integer;
begin
c := Length(ArrX);
SetLength(ArrX, c + 1);
ArrX[c] := X
//涌来替换原来那个 X
Tag := c;
end;
 
1.引用单元,以 单元名.x 访问
2.包装起来,在单元中写两个函数访问/在类中写两个类函数访问
 
添一个变量放到Public单元里,就可以了
 

if (ActiveMDIChild <&gt
nil) and (ActiveMDIChild is TfsMDIChild) then
TfsMDIChild(ActiveMDIChild).x //在MDI主窗体中就可以访问x了
 
接受答案了.
 
后退
顶部