2011-07-08 64 views
0

我可以加載完美的第一個DLL,但如果我嘗試加載第二個DLL失敗。你如何加載FreePascal以上的庫?

信息:

  • 操作系統:Windows Vista
  • FPC:2.4.4
  • 沒有,如果我從一個EXE或從第1個DLL加載內第二DLL的事,第二失敗。
  • 無論第一個DLL是靜態加載的,第二個DLL都會失敗。
  • 無論哪個是第二個DLL加載。
  • 我控制DLL的源代碼。
  • 沒有外部依賴關係。
  • 它發生在非常簡單的DLL中。
  • GetLastError()返回487錯誤(ERROR_INVALID_ADDRESS)。
  • 它只發生在使用FPC生成的DLL上。

有一些我失蹤,我無法弄清楚。

感謝

答:好吧,我發現我的問題,我有-WN命令行開關在我fp.cfg文件

回答

0

我相信你打電話爲Win32的LoadLibrary的包裝()。

你應該能夠調用多個不同的.dll的沒有問題。

建議: 檢查GetLastError函數,看看是什麼錯誤代碼爲

ALSO:

  • 也許這是一些關於特定.dll或你使用它的方式。

  • 在您的.exe,您的.dll和您動態加載的任何.dll上運行「depends」工具。 確保所有依賴關係都已解決。

+0

感謝您的回答,我更新了更多信息 – ernest