我的程序是一个ERP应用,前面用户登录正常,主界面程序中的onShow事件也正常执行,在执行application.run后,主程序立即自动退出,程序界面不会出现,且主程序中的onDestory也被激发,onClose无反应。
换用其他窗口作为主界面程序,情况依旧,请高手们帮忙分析分析,万分感谢!
换用其他窗口作为主界面程序,情况依旧,请高手们帮忙分析分析,万分感谢!
解决方案 »
- INDY9->INDY10代码转换问题。。
- delphi+ sql的打包
- IE临时文件问题,100分请教
- ■■■■■ 香烟与爱情--散分系列二 ■■■■■
- 如何通过在编辑框输入非法字符使WINDOWS系统提示该程序执行非法操作?
- 把数据库里的文本和图片导入WORD中,怎么设置可以使文本在图片的左边,和图片在同一行里的!
- 托动一个窗体结束后显示一个对话框,请各位大侠显示一个具体的代码,谢大侠了
- 用什麼函數可以讓電腦的小嗽叭發出聲音?
- 请问如何将字符串类型转化成numeric类型?
- 如何将Access表中的数据转存为DBF、Word或Excel文件,请大虾提供例程、控件,注意:不想使用OLE自动化生成Word和Excel文件。谢谢!
- 从sqlserver 表中随机筛选记录
- 如何快速的将1个jpg文件,切割成多个文件?
主程序的create会在application.run之前
Application.CreateForm(Tfrmmain, frmmain);
Application.run;
我重新建立了一个工程,add所有文件,运行一切正常!
Application.run;
---------------------------------------------------
请您确保你的主界面是Application.CreateForm的第一个窗体.
这很重要,Delphi的Application.run是针对Application.CreateForm的第一个窗体运行的.
如果你第一个加载的是登陆窗体,他肯定是没有反应的退出了.
---------------------------------------------------
当然,你也可以不使用Application.Run,
直接使用frmmain.ShowModal;
第二种方法:动态创建登陆窗体,并用ShowModal方式显示,如果返回是mrOK则继续执行,代码如下:
var
frm2: TForm2;//假设这是Login窗体
begin
Application.Initialize;
frm2 := TForm2.Create(nil);
try
frm2.ShowModal;
if frm2.ModalResult = mrOK then
begin
FreeAndNil(frm2);
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
finally
if frm2 <> nil then
begin
FreeAndNil(frm2);
end;
end;
end.