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才对.为什么?

解决方案 »

  1.   

    >>肯定会报错,为什么?報什麼錯??? 貼出出錯信息!!
      

  2.   

    begin
      Application.Initialize;
      Application.CreateForm(TFrmDM, FrmDM);
      if TFrmLogin.Execute then
         Application.CreateForm(TFrmMain, FrmMain);
      Application.Run;
    end.//这样试试
      

  3.   

    2.GetSystemMetrics(SM_CYCAPTION)取得的数字是19,正常应该是27才对.为什么?我这里取得的数字也是19,是不是该函数有操作系统有关呀,我是Win2000Pro
      

  4.   

    begin
      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挂那里干嘛
      

  5.   

    to:konhon(优华) 
    最近很少看到你上来哦
      

  6.   

    xiaocuo_zrf(女巫手上的猫) 
        不管怎麼寫,都會報錯.
        只有
    begin
      Application.Initialize;
      Application.CreateForm(TFrmDM, FrmDM);
      if TFrmLogin.Execute then
      begin
        Application.CreateForm(TFrmMain, FrmMain);
       Application.Run;
      else FrmDM.Free;
    end.
    這樣不會報.