1.这是DPR的代码:
begin
Application.Initialize;
Application.CreateForm(TFrmDM, FrmDM);
if TFrmLogin.Execute then
begin
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
end;
end.//这里报错.
/////////////////////////////////
FrmDM的代码:
unit DM;interfaceuses
SysUtils, Classes, DB, ADODB;type
TFrmDM = class(TDataModule)
ADOCon: TADOConnection;
end;var
FrmDM: TFrmDM;implementation{$R *.dfm}end.
-----------------------------------------------------------------------
可以肯定是FrmDM里的问题,FrmDM里有一个ADOCon,只要他在DPR结束前Connected为true,那么代码不会报错,如果为false,肯定会报错,为什么? 2.GetSystemMetrics(SM_CYCAPTION)取得的数字是19,正常应该是27才对.为什么?
begin
Application.Initialize;
Application.CreateForm(TFrmDM, FrmDM);
if TFrmLogin.Execute then
begin
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
end;
end.//这里报错.
/////////////////////////////////
FrmDM的代码:
unit DM;interfaceuses
SysUtils, Classes, DB, ADODB;type
TFrmDM = class(TDataModule)
ADOCon: TADOConnection;
end;var
FrmDM: TFrmDM;implementation{$R *.dfm}end.
-----------------------------------------------------------------------
可以肯定是FrmDM里的问题,FrmDM里有一个ADOCon,只要他在DPR结束前Connected为true,那么代码不会报错,如果为false,肯定会报错,为什么? 2.GetSystemMetrics(SM_CYCAPTION)取得的数字是19,正常应该是27才对.为什么?
Application.Initialize;
Application.CreateForm(TFrmDM, FrmDM);
if TFrmLogin.Execute then
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
end.//这样试试
Application.Initialize;
Application.CreateForm(TFrmDM, FrmDM);
if TFrmLogin.Execute then
begin
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
end;
end.//这里报错.
——————————————————————
改变 成begin
Application.Initialize;
Application.CreateForm(TFrmDM, FrmDM);
if TFrmLogin.Execute then
begin
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
else application.Terminateend.//这里报错.这个实现乖乖的,就算你不要Application.Run
也要application.Terminate掉啊
要不你Application挂那里干嘛
最近很少看到你上来哦
不管怎麼寫,都會報錯.
只有
begin
Application.Initialize;
Application.CreateForm(TFrmDM, FrmDM);
if TFrmLogin.Execute then
begin
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
else FrmDM.Free;
end.
這樣不會報.