form1中button click事件中代码是form2.showmodal.form2的formcreate事件代码如下:
procedure Tfrm_shitu.FormCreate(Sender: TObject);
var Tabname:array[0..5] of string;
i:integer;
begin
for i:=0 to 5 do
begin
tabsheet[i]:=Ttabsheet.create(self);
tabsheet[i].PageControl:=pagecontrol1;
tabsheet[i].Name:='tabsheet'+inttostr(i);
tabsheet[i].Caption:=TabName[i];
end;
pagecontrol1.ActivePage:=tabsheet[0];
shockwaveflash1.Visible:=true;
shockwaveflash1.Movie:=ExtractFilePath(paramstr(0))+'01\lst\xlrw.swf';
end;
form2中有个pagecontrol控件。有个onchange事件用来转换flash的。还有一个button,点击button的代码是close.
怎么样才能form2关闭后再打开显示初始化的画面呢?
procedure Tfrm_shitu.FormCreate(Sender: TObject);
var Tabname:array[0..5] of string;
i:integer;
begin
for i:=0 to 5 do
begin
tabsheet[i]:=Ttabsheet.create(self);
tabsheet[i].PageControl:=pagecontrol1;
tabsheet[i].Name:='tabsheet'+inttostr(i);
tabsheet[i].Caption:=TabName[i];
end;
pagecontrol1.ActivePage:=tabsheet[0];
shockwaveflash1.Visible:=true;
shockwaveflash1.Movie:=ExtractFilePath(paramstr(0))+'01\lst\xlrw.swf';
end;
form2中有个pagecontrol控件。有个onchange事件用来转换flash的。还有一个button,点击button的代码是close.
怎么样才能form2关闭后再打开显示初始化的画面呢?
begin
if Form2 = nil then Form2 := TForm2.Create(nil);
Form2.Showmodal;
FreeAndNil(Form2);
end;
Frm_LOGO.Show;
Frm_LOGO.Update;
Sleep(2000);
Frm_LOGO.Close;
不知道这段代码能不能帮到你!
没说完。继续:上面这种方法可以用。
Form.Close默认只是让窗体隐藏了
如果你不想每次关闭后都释放,再次打开时重新创建,可以专门在TForm2写一个方法,例如:
procedure TForm2.InitSetup;
begin
//把所有的初始化设置都放在这里面写
end;
然后,在Show这个窗体时执行InitSetup。
你只要没有写释放Form2的代码,那么你单击Form2的关闭按钮,只是隐藏了窗体,你再次点击Form1的button1,实现form2.showmodal的时候还是会显示你原来Form2的界面
Action:=cafree;
Form2:=nil;
在Form2的Button1的onclick事件里写
if not Assigned(Form2) then
Form2:=TForm2.Create(Application);
Form2.ShowModal;
或者,以OnClose里写 Action := caFree;
这样,打开的代码就这样写: Form2 := TForm2.Create(nil);
Form2.Showmodal;
写法请按10楼的写。
PS:在Form2的onClose事件里写
Action:=cafree;
Form2:=nil; ----上述等价于 FreeAndNil(Form2);if not Assigned(Form2) then
Form2:=TForm2.Create(Application);
Form2.ShowModal; ----上述等价于:
if Form2 = nil then Form2 := TForm2.Create(Application);//不必指定Owner,nil即可
Form2.Showmodal;
天哪,拐了这么大一个弯