怎么关闭当前窗口后打开另外一个窗口

如何关闭当前窗口后打开另外一个窗口
在一个按钮事件中,需要打开另外一个窗口,但打开另外一个窗口前,当前窗口需要关闭,请问如何做呢?
Close;
creat   ChildWindow...
ShowChildWindow...

------解决方案--------------------
在当前窗体的OnDestroy事件里面写一下试试看

------解决方案--------------------
form1隐藏,form2 显示就行了.主窗口按说关闭就会程序关闭 ,再说程序在运行没必要关闭.
------解决方案--------------------
如果有个主窗口,而打开的窗口都在其中可以:
在这个按键上写:

ChildWindow:=TChildWindow.create(application);
ChildWindow.show;
self.close;

如果在当前窗口中事件中写
应该只能用Hide和show了
------解决方案--------------------
为什么要关闭呢?因为,子窗口一个按钮事件中,需要creat open一个Form,而这个Form刚好就是上面提到的要关闭的Form,

子窗口按钮事件恢复隐藏的form就可以了. 当然我是思路,换方式解决问题.
------解决方案--------------------
截获WINDOWS的销毁消息,然后ShellExecute开启另一个程序,貌似这样做应该可以,直接写在OnClose或OnDestory事件里好象不行~~~~~~~~~

如果还不行,就用做个控制台程序,定时开启程序
------解决方案--------------------
Hide和show
------解决方案--------------------
试一下这样:

在你需要close的窗体里:
定义里加:
private
const
WM_JOINCLICK = WM_USER+2;
close事件里写:
PostMessage(FormMain.Handle,WM_JOINCLICK,0,StrToInt(self.RzEditAuctionNo.Text));

主窗体里加:
定义:
private
const
WM_JOINCLICK = WM_USER+2;
public
procedure WndProc(var message: TMessage); override;

加代码:
procedure TFormMain.WndProc(var message: TMessage);
begin
if message.Msg=WM_JOINCLICK then begin
创建你的新窗体
exit;
end;

inherited WndProc(message);
end;

你的问题可能是出在关闭与创建的顺序上,新窗体没建完,这个窗体又要关,所以出现内存错误,上面做的原因是:老窗体在关闭是给主窗体发个消息,表示我要关了。这个消息是异步的。主窗体收到这个消息再去创建新窗体就没问题了。

前一段我也是遇到这样的问题,所以才这样去解决。
------解决方案--------------------
晕,哪里用这么复杂。点击按钮时给主窗体发个消息,主窗体收到后创建不就可以了。
------解决方案--------------------
我以前做过,不过现在看不到效果了。两年前的事了。
但自认为对webbrowser还比较了解,有问题你尽管问了。
其实用webbrowser配合起来可以做很多东西。