我的mdi窗体退出时,出现abstract问题如果进入mdi窗体后,不做任何操作就退出,没有这个问题,
如果调用一个子窗体后,再退出就会出现这个问题
调用子窗体代码
if Screen.ActiveForm <> nil then
begin
if Screen.ActiveForm.FormStyle = fsMDIChild then
begin
if Pos(Rightstr(Screen.ActiveForm.Name,1),'0123456789') = 0 then
begin
Screen.ActiveForm.Close ;
Screen.ActiveForm.Free ;
end ;
end ;
end; if Frm_query = nil then
begin
application.CreateForm(TFrm_query,Frm_query);
Frm_query.show ;
end ;子窗体退出代码
button1click
close;formclose
Action := caFree ;FormDestroy
form1 := nil ;为什么会有这个问题啊???
我应该没有用到什么虚拟东东
如果调用一个子窗体后,再退出就会出现这个问题
调用子窗体代码
if Screen.ActiveForm <> nil then
begin
if Screen.ActiveForm.FormStyle = fsMDIChild then
begin
if Pos(Rightstr(Screen.ActiveForm.Name,1),'0123456789') = 0 then
begin
Screen.ActiveForm.Close ;
Screen.ActiveForm.Free ;
end ;
end ;
end; if Frm_query = nil then
begin
application.CreateForm(TFrm_query,Frm_query);
Frm_query.show ;
end ;子窗体退出代码
button1click
close;formclose
Action := caFree ;FormDestroy
form1 := nil ;为什么会有这个问题啊???
我应该没有用到什么虚拟东东
解决方案 »
- 如何实现这个功能啊?
- 关于Delphi 2005的程序开发
- 为什么有些dpr文件打开不让可视化编辑,delphi工具的界面菜单等也不能用
- 调用ManualDock,来dock两个form到一个panel,想上下排列,排列结果总是一左一右,为什么?
- Table,Query,..etc 怎样将二笔记录集合并。。。 (高难)
- (未解决。。。在线等待。。。。)如何得到一首MP3的时间长度?急!
- 我用ActiveForm技术编写的三层体系结构时,怎样将一个表单的参数传递到另一个表单。
- 求教~! delphi控件问题 不太难 但对于新手太重要了 求教~!
- 初来咋到,小菜有礼了,有些问题想问大家……
- cterrn是用delphi写的吗?
- 你有软件要交易吗?有技术要咨询吗? 请看....
- 如何调整QRDBTEXT控件的字间距?
form1 := nil ;这两句不要。
我的destroy事件 中的代码是
form1 := nil ;我上面写的formclose 是 close事件.
if not Assigned(Form1) then
Application.CreateForm (TForm1 ,Form1 );子窗体 OnClose
Action := caFree ;
Form1 := nil;
改为
if Screen.ActiveForm.MDIChildCount = 0 then
试试。
if fmMain.MDIChildCount = 0 then
执行关闭主窗体操作。