DELPHI窗体关闭问题

procedure Tlogin.Button1Click(Sender: TObject);
var name,pas:string;
begin
name:='123';
pas:='123';
if edit1.Text=name then
begin
if edit2.Text=pas then
begin form1.Show ;
login.close end
else showmessage('错误的用户名或密码');
end

else
showmessage('错误的用户名或密码');
end;

在执行时,用户名密码正确登录后,form1显示完接着被关闭了,用login.hide代替login.close后form1可显示,但login一直在进程中,如何解决这个问题?
login.free 执行后提示'abstract error'错误,但form1可正常显示?

动态生成这个窗体,或者用dll来生成登录窗体。
用free肯定会出现这样的问题,因为你的窗体不是动态生成的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-07-26
login.free

delphi中关闭窗体onclose事件的提示问题
我是delphi菜鸟,参考1楼的回答,好像还需要个变量吧。procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);var ss:word;begin ss:= messagedlg('确定退出吗?',mtconfirmation,[mbyes,mbno],0);if ss=mryes then CanClose:=True;if ss=mrno then CanClose:=False ;end;...

Delphi 关于窗口接收 ESC 键关闭的问题如何解决?
您可以尝试以下方法解决这个问题:1. 在窗体上放一个按钮,设置按钮的Cancel属性为True,在按钮的点击事件中写:procedure TForm1.btn1Click (Sender: TObject);begin Close;end;2. 设置窗体的KeyPreview属性为True,然后在FormKeyPress里写if key = #27 then Application.Terminate;

delphi关闭窗口问题
办法。尽量使用最新的Delphi补丁——Access Violation错误数量尤其是设计期的错误数会大大减少。 (4)如果你在IDE中经常随机遇到Access Violation错误,很有可能是你安装了一个不好的控件、包或者一个向导,它不是你使用的版本的Delphi所编写或编译的。试着一个一个卸载定制的控件(或者包)直到问题被解决,然后联系控件...

DELPHI的关于关闭窗口的非常简单的问题
在MDI环境中如果你想显示某子窗体,你需要动态创建这个子窗体;如果你想关闭某子窗体的话,在这个子窗体的OnClose事件中使用Self.Free方法释放掉就可以了。

DELPHI窗体关闭问题
动态生成这个窗体,或者用dll来生成登录窗体。用free肯定会出现这样的问题,因为你的窗体不是动态生成的。

DELPHI关闭子窗体
在Delphi中,所有窗体关闭时都会调用OnClose过程。该过程的Action: TCloseAction变量决定窗体的关闭方法。对于SDI子界面,默认是caHide,也是就隐藏。对于MDI子界面,默认是caMinimize,也就是最小化。你可以在窗体的OnClose过程中设置Action为caFree,就可以正常关闭窗体了。procedure TForm1.FormClose(Sender...

delphi登录窗口关闭主窗口也关闭?怎么办啊?
这个问题有两种实现方式,看哪种适合你。方案一:窗体隐藏法。这个方案其实说起来很简单,即在登录窗口使用时Create并显示,不使用时Close并Free。程序以主窗口为调用各窗口的主窗体,程序运行时即创建该窗口。方案二:修改DPR中调用顺序法 这里,是一个未修改工程属性和代码和DPR文件,与后面的做个比较:...

delphi窗体关闭时,如何循环释放自定义的对象,以防止内存泄漏
这种情况是不需要写代码来释放对象的,当一个对象释放时,会自动把归属于它的所有附属对象全部释放。如果新建立的对象AOwner参数是nil,或对象的类方法中没有AOwner参数(如TStringList类),那也无法通过遍历窗体找到,只能自己建立相应的数据结构来记录,这样才能用遍历的方法来释放。

delphi 关闭窗体
窗体关闭,其实就是将窗体隐藏起来,没有显示而已,他并没有从内存中清除,可以随时通过show方法再次显示,而动态创建的窗口,可以通过FREE 方法将其销毁.即从内存中清除.不信你可以打开会务管理器查看.当关闭一个程序启动时就加载的窗体时,内存资源占用是不会减少的,但关闭一个动态创建的窗体时,程序占用的...

设计的delphi登陆窗口和主窗口,登陆窗口登陆后,主窗口也一起关闭了...
if datamodule1.ADOQuery1.RecordCount>0 then begin edit1.Clear;edit2.Clear;ModalResult:= True; \/\/-- 加这段代码 --\/\/ self.Close;end else begin application.messagebox('用户名或者密码错误','提示');edit1.Clear;edit2.Clear;ModalResult:= False; \/\/-- 加这段代码 --\/\/ end;...

相似回答
大家正在搜