標籤:datasnap delphi 模組化 資料庫 exe
Delphi編程中軟體調用EXE檔案與DLL檔案的體會
一、定義
EXE檔案,是完整的“Windows表單應用程式”或“控制台應用程式”,它能獨立執行,也能被居主EXE調用。其內部是系列類或方法構成,執行時,全部載入記憶體。
DLL檔案,全稱是Dynamic Link Libaray,即動態連結程式庫,將程式(EXE)運行所需要的類或方法的實現放在dll檔案中,它的類、方法不能直接被執行,必須由一個EXE檔案調用載入記憶體,通過類、方法形式從記憶體中擷取(執行)。
二、相同
1、二者內部結構基本一致,都是由作業系統的類、特定語言(C#,Delphi,Basic)的類和方法構成;
2、都是讀入記憶體,再執行;
3、編程的編寫上內部結構基本一致;
4、都可以被另一程式居主EXE檔案調用;
5、都是調用時,讀入記憶體;
三、異同
1、EXE檔案可直接執行,方便調試和編譯;dll必須由一個exe檔案調用載入記憶體再執行。
2、編譯方向不同時,EXE檔案是program,DLL檔案是library;
3、DataSnap資料庫應用中,調用EXE檔案方式,被調EXE檔案中的DataModule是獨立的,這樣,伺服器中獨立產生一個連線物件,加上居主EXE也佔用一個連線物件,造成一個IP用戶端,佔用二個伺服器串連。(伺服器只能串連一半用戶端,降低了伺服器串連數)而通過調用DLL檔案,DLL檔案中的DataModule不是獨立的,它是由居主EXE發出的,它與居主EXE,共同伺服器的串連。(伺服器能串連多少用戶端,就能多少用戶端)
4、EXE檔案易受病毒攻擊,DLL不受病毒攻擊;
5、EXE檔案可見度(執行)不易保密,DLL檔案不可見,保密性強。(當然EXE檔案,可以通過執行時錄入密碼,不被隨意執行)
四、使用優點
1、節省了可執行檔的空間;
2、實現模組化管理,不同的模組分別編譯成dll(EXE);
3、方便軟體推廣分發,對於為同時使用者,編譯不同的dll(EXE),達到功能的實現。
Delphi編程中軟體調用EXE檔案與DLL檔案的體會