在公用global.pas中有个公用的过程,用来建立一个新窗口
procedure G_OpenNew();
begin
Form1:=Tform1.Create(nil);
try
form1.ShowModal;
finally
form1.Free;
form1:=nil;
end;
end;//在建立N个Form1后请问如何识别它们,也就是说我想给其中的某个form1赋值?
//同时我发觉关闭其中一个后,其它的form1都可能已经释放了,如果再访问其它的form1就出现地址错误。。请问如何建立多个同名的form并且分别识别他们?
procedure G_OpenNew();
begin
Form1:=Tform1.Create(nil);
try
form1.ShowModal;
finally
form1.Free;
form1:=nil;
end;
end;//在建立N个Form1后请问如何识别它们,也就是说我想给其中的某个form1赋值?
//同时我发觉关闭其中一个后,其它的form1都可能已经释放了,如果再访问其它的form1就出现地址错误。。请问如何建立多个同名的form并且分别识别他们?
ListBox1.Items.Add(Screen.Forms[i].Name);
//把所有窗体给加加进去.
procedure G_OpenNew();
var
form1:Tform1;
begin
Form1:=Tform1.Create(nil);
try
form1.ShowModal;
finally
form1.Free;
form1:=nil;
end;
end;
for i:=0 to Screen.FormCount-1 do
ListBox1.Items.Add(Screen.Forms[i].Name);
可以遍历窗口,但不是太好。
最好使用一个TList类来维护窗口列表。