谢教大虾!
    我主程序动态调用了一个DLL来创建一个MDI窗口
      1、当主程序退出时出现出存出错误,谢问怎样解决
      2、我想当DLL创建的MDI窗体关闭时释放自身的DLL

解决方案 »

  1.   

    library xxx;uses
      xxx, xxx;var
      tmpP: Pointer;procedure LibExit; far;
    begin
      ExitProc := tmpP;
    end;exports
      xxx,
      xxx;begin
      tmpP := ExitProc;
      ExitProc := @LibExit;
    end.你的DLL这么写试试
      

  2.   

    最好是在用的时候重新创建
    在关闭的时候不要直接关闭
    而是把它free掉
      

  3.   

    將DLL的Form當作Result傳給主程式就行了喔! 但是這樣的程式並不好控制, 
    雖然這樣能做到所謂的多工處理,容易產生記憶體的,因此寫作必須嚴謹,動態產的 
    的東東,最後一定要Free掉,或者,程式中的Try except 等等必須要一使用,避免程式 
    中間發生問題,導致無法Free,最後會連主程式都無法關閉,另一個是資料庫Connection的問題, 
    如果每個DLL都開一個connection的話,那...你要用什麼資料庫? Connection通常是要算錢錢的 
    即使採用PostgreSQL不用錢,Server也不太經的起你一直開Connection是會耗費記憶體的。 
    目前市面上的商用軟體,我也只看過一家有這樣做,是做空運報關及承攬系統的。 
     转