我编译时使用的是build with run time package
程序运行的代码是
  frm_Splash := Tfrm_Splash.Create(Application);
  frm_Splash.Show;
  frm_Splash.Update;
  PasswordDlg := TPasswordDlg.Create(Application);
  PasswordDlg.ShowModal;                 //运行到在这里,通过资源管理器发现内存已经占用了9648K
  Application.Initialize;
  Application.CreateForm(TMainController, MainController);
  Application.CreateForm(TFrmIntro, FrmIntro);
  frm_Splash.Free;
  Application.Run;
  PasswordDlg.Free;为什么?
如果是因为我编译时使用的是build with run time package,那也告诉我原因。我的程序中需要动态加载package,所以必须将其设置为build with run time package
谢谢!

解决方案 »

  1.   

    你是不是使用了ADO
    或其他访问数据库的东西
    如果用了
    大概要占10M以上的内存呢
    不必大惊小怪
      

  2.   

    没有吧,我的程序3M多,也是占10M都没有,启动后才,6000K,平均8500K. 我用的是EDB.有代码吗。
      

  3.   

    我的程序1.5M,占用多,是用的Ado.
      

  4.   

    兄弟们哪
    建议你们看一下event log
    看看启动你的程序之前系统做了哪些事
    光看那一堆的DLL
    占不占内存?
    程序一开始是不读到内存之中的
    这中由程序的局部性决定的
    图片资源在编译时就确定了大小
      

  5.   

    哪里有event log,我也特别想看看到底程序在启动的时候调用了什么?