主窗体的问题,帮忙看下啊,兄弟们. ( 积分: 0 )

  • 主题发起人 主题发起人 yelovedong
  • 开始时间 开始时间
Y

yelovedong

Unregistered / Unconfirmed
GUEST, unregistred user!
var
iLoad: Integer;
begin
Application.Initialize;
frmLoadSever := TfrmLoadSever.Create(nil);
try
iLoad := frmLoadSever.ShowModal;
finally
frmLoadSever.Free;
frmLoadSever := nil;
end;
if iLoad = IDCANCEL then Application.Terminate;
if Application.MainForm = nil then

Application.CreateForm(TfrmLoadSever, frmLoadSever);
Application.Run;
end.
 
程序是执行到最后一行,创建了登陆窗体的,不过还是自己关掉了。
奇怪的。
 
var
iLoad: Integer;
begin
Application.Initialize;
frmLoadSever := TfrmLoadSever.Create(nil);
try
iLoad := frmLoadSever.ShowModal;
finally
if iLoad = IDCANCEL then Application.Terminate;//移到这里试试
frmLoadSever.Free;
frmLoadSever := nil;
end;

if Application.MainForm = nil then

Application.CreateForm(TfrmLoadSever, frmLoadSever);
Application.Run;
end.
 
if Application.MainForm = nil then //这一行多余

Application.CreateForm(TfrmLoadSever, frmLoadSever);
前面已使用了这个窗体, 现在再创建是什么意思?
 
写错了,前面是创建服务器配置窗体,
后面是显示拥护登陆窗体,
意思就是这样的,就是到最后系统就自己关掉了。
 
if Application.MainForm = nil then //这一行多余,
不要这一行就可以了.
如果不行的话加:
Application.MainForm := frmLoadSever;
其实你的代码中不存在任何有效窗体, 所以执行到最后就退出了.
 
var
iLoad: Integer;
begin
Application.Initialize;
frmLoadSever := TfrmLoadSever.Create(nil);
try
iLoad := frmLoadSever.ShowModal;
finally
frmLoadSever.Free;
frmLoadSever := nil;
end;
if iLoad = IDCANCEL then Application.Terminate;

Application.CreateForm(TfrmLoadUser, frmLoadUser);
Application.Run;
end.

应该是这样,不行的, 窗体一闪而过程序几结束了,有执行到后面的.
 
if iLoad = IDCANCEL then
Application.Terminate;
检查一下iLoad的值, 是不是在这里就结束了.
frmLoadServer是否showModal了?
 
后退
顶部