标签: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),达到功能的实现。
标签:datasnap delphi 模块化 数据库 exe
原文地址:http://blog.csdn.net/lyhoo163/article/details/39151249