首先要讲清楚静态调用和动态调用的区别。
1 静态调用,在pas文件中直接指定DLL和定义调用函数,在程序开始运行时,就会自动寻找该DLL,并载入内存。
A 即是无论你用不用,都要载入到内存中。
B 如果程序运行时,找不到要载入的DLL,就会报错,无法运行。
C 通常应用在于系统功能关联密切,必须而且经常使用的DLL。
2 动态调用,在程序段中使用LoadLibrary('mydll.dll')加载。
A 在程序开始运行时,不会自动加载,只有在使用时,再通过LoadLibrary加载。
B 因此即使没有该DLL,程序的其他功能还可以使用。只是要用到该DLL,发现没有才会报错。
C 通常应用于对系统功能关联不密切,使用频率低的DLL。当然也有节省内存,优化性能的特点。
D Freelibrary与LoadLibrary要成对使用,是为了保证调用的内存空间有效释放。