1、窗体没有使用时,不要create;
2、竟量不要包含没有用过的VCL。
3、及时释放资源,如 release方法。 onclose事件中加入:action:=cafree;
4、可以不用VCL,而直接用API来调用控件的create方法,并动态改变属性值。
  (难度较大,方法较繁,不提倡)。

解决方案 »

  1.   

    VCL其实就是包装GDI了!!
    与这个有关系吗?
      

  2.   

    好象DELPHI本身在装入时是比较消耗空间的,主要的问题是要装入包
      

  3.   

    不知道程序中又你开发的控件吗?
    你用vc,DC应该很熟不应出现这种问题呀!
    是不是你程序中有bug,贴你动态创建----应该是动态添加 控件的程序吧。
      

  4.   

    似乎没有这种问题,如果有,一般是自己的程序忘了释放.比如你在VCL里又夹着写了些API,又没释放这些.
      

  5.   

    首先你在一个窗体上几十个Editbox、ListBox、ComboBox、DbGrid而且还用了PageControl,其中许多控件是动态创建的,如此规模!我觉得你应尽量使们分离到几个窗口上(我担心你的客户在界面前找鼠标),如果系统资源下降得很厉害那你尽量使用时才生成form用完后及时free。其他建议和 “showsky(示天)” 壮士的雷同。
    另,不要太过怀疑del,它与vc是癌症与爱滋而已的。
      

  6.   

    一个优秀的软件(至少是我的标准)应该一切为用户着想,也就是说尽量使用户第一次看到这个软件后就大致明白各个输入框、按钮等控件的作用。我想任何一个用户都不想在几十个控件中寻找一个输入位置。我想优化程序固然是好,但简化窗体才是最重要的。就好象我们在编菜单一样,虽然Windows最多可以有六级嵌套菜单,但任何一个开发程序都推荐在实际编程中最多不超过三级,原因就是为了简化操作。请想一想,在Word、Delphi等等这些优秀的软件中哪一个菜单超过三级的,哪一个窗体上有几十个控件的?
      

  7.   

    完全同意TRIUMPTH的观点,窗口操作力图简便是主导原则。我就特讨厌那些使用非常规界面的软件,看见就心烦。记得以前跟一个相当早就作程序员的人聊过,任何用户对新界面的接受能力都是有限的,与其搞得花里胡哨,不如简简单单,一看就会。微软的产品一直都是这个原则去做界面,除了新出来的Media Player 7。不过这类软件界面又有其特殊性。