Procedure Show_Form_ByStr(AFormPName:String);
var
myClass:TPersistentClass;
begin
//找已注册的表单类
myClass:=GetClass(AFormPName);
if myClass=nil then
messagedlg('没有找到表单类 '+AFormPName,mtWarning,[mbOK],0)
else
if (???) //已经在运行,就直接Show它。请问这个位置应该如何写条件?
else
//创建实例并运行它end;
var
myClass:TPersistentClass;
begin
//找已注册的表单类
myClass:=GetClass(AFormPName);
if myClass=nil then
messagedlg('没有找到表单类 '+AFormPName,mtWarning,[mbOK],0)
else
if (???) //已经在运行,就直接Show它。请问这个位置应该如何写条件?
else
//创建实例并运行它end;
myClass := TFrm_BuyBargain.Create(self)
else
myClass.BringToFront ;
myClass := TPersistentClass.Create(self)
else
myClass.BringToFront ;
我的myclass是依据类的名字来确定的,运行时并不固定:myClass:=GetClass(AFormPName)。通常来说,这个Form的类是已经存在了的,因而一定有 mylass<>nil 出现。问题是,这个myclass可能已经有一个实例在运行了,如何侦测之?
TO QWERT520(别来无恙):
如果用公共变数,那每一个子窗口就得对应着一个变数,系统里岂不要定义几百个公共变数?
begin
Form2.show;
end;