我真的需要幫助......如何加載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