C
chzhwenfigo
Unregistered / Unconfirmed
GUEST, unregistred user!
有多个MDI 子窗体,用以下方式打开:
function TF_main.findform(fname:string):boolean
//自定义函数,查找窗体;
var
i:integer;
begin
for i:=0 to screen.formcount-1 do
begin
if screen.forms.name=fname then
begin
screen.forms.show;
findform:=true;
exit;
end;
end;
findform:=false;
end;
然后调用以上函数:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not assigned(f_tank) then // f_tank 为其中一个窗体;
begin
f_tank:=tf_tank.Create(application);
if findform('f_tank') then
begin
f_tank.WindowState:=wsnormal;
exit;
end;
end
else
f_tank.BringToFront;
end;
当第一次按下 Button1 时 f_tank 正常打开,再关闭,按下 Button1 第二次打开却出错了: Abstract Error 不知什么原因?
function TF_main.findform(fname:string):boolean
//自定义函数,查找窗体;
var
i:integer;
begin
for i:=0 to screen.formcount-1 do
begin
if screen.forms.name=fname then
begin
screen.forms.show;
findform:=true;
exit;
end;
end;
findform:=false;
end;
然后调用以上函数:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not assigned(f_tank) then // f_tank 为其中一个窗体;
begin
f_tank:=tf_tank.Create(application);
if findform('f_tank') then
begin
f_tank.WindowState:=wsnormal;
exit;
end;
end
else
f_tank.BringToFront;
end;
当第一次按下 Button1 时 f_tank 正常打开,再关闭,按下 Button1 第二次打开却出错了: Abstract Error 不知什么原因?