我真的需要帮助......如何加载DLL作为本地服务器
我实现了一个COM组件(即A.DLL)与IDL,还编写了一个包装DLL(B.DLL)为零件。我已经实现了DLL“A”所需的导出函数,并将其注册为“regsvr32.exe”。
问题是我有3个EXE文件使用B.dll来访问A.dll的方法。但是,我无法设法为A.dll创建本地服务器,因此每个EXE都会加载一个新的A.dll和B.dll。我只想加载A.dll一次,并需要在B.dll中实现此功能。最后的声明也开放供讨论。
但是,我无法找到任何有关此问题的有用示例或资源。任何帮助将不胜感激,在此先感谢。
你为什么反对让这些库加载好几次? – sharptooth 2010-09-06 07:03:45
@sharptooth因为,A.dll打开一个数据库文件作为资源,并且多次打开此文件会导致问题。 – 2010-09-06 07:07:34
我明白了。我想更好的解决方案是使用NT服务来处理数据库。这样你就不必关心同时拥有多少个COM服务器副本 - 他们会通过说RPC来与服务对话,并且该服务将在内部同步对数据库的访问。 – sharptooth 2010-09-06 07:28:38