在一个工程里 有一个主窗体frmMain 和N个子窗体(类名各不相同)
现在 我想弄个TList数组变量 来保存这些窗口 并且最重要的是要能访问到这些窗口的事件(比如在TList类的对象里加了一个frm1的窗口 然后要能访问frm1.show()):
代码要怎么写呢??试了蛮久 好象都不行_-##
现在 我想弄个TList数组变量 来保存这些窗口 并且最重要的是要能访问到这些窗口的事件(比如在TList类的对象里加了一个frm1的窗口 然后要能访问frm1.show()):
代码要怎么写呢??试了蛮久 好象都不行_-##
比如
TFormRecord = record
FormName: string;
end;然后
AForm: TFormRecord;
AList: TList;AList := TList.Create;
New(AForm);
AForm^.FormName := Form1.Name;
AList.Add(AForm) ;记得退出的时候释放一下 Dispose(AForm); AList.Free;你可以通过类变量配合AForm^.FormName来访问窗口。
比如
TFormRecord = record
FormName : string;
ShowForm : TForm;
end;
PFormRecord = ^TFormRecord;
然后
AForm: PFormRecord;
AList: TList;AList := TList.Create;
New(AForm);
AForm^.FormName := Form1.Name;
AForm^.ShowForm := self;
AList.Add(AForm) ;使用时:
PFormRecord(AList[i])^.ShowForm .ShowModal;
感觉应该可以这样做!
比如:TForm(AList.Items[0]).Show;
TForm(AList.Items[1]).CLose;
看楼主的意思,要保存的都是些Form,那么都可以调用TForm的方法。
用Forms:array[0..200]of TForm变通了下 TList麻烦