可能有問題已經有我的答案,我是一個剛剛新手,我無法找到答案,完全解決我的問題。COM interop DLL文件位於與exe文件分開
我正在開發一個Delphi xe5應用程序,它使用.NET程序集。
我使用Regasm.exe註冊了程序集。 \ Regasm.exe/tlb TestLib.dll
接下來,從Delphi的Conponent菜單中選擇Import Component,然後導入類型庫,然後創建TestLib_TLB.pas文件。 通過pas文件將TestLib_TLB.pas添加到項目中,我可以調用程序集提供的函數/過程。
問題是如果DLL位於與應用程序exe文件不同的文件夾中,程序集的API調用將會失敗。
我試圖使用gacutil.exe將該DLL文件註冊到GAC中,但這並沒有解決問題。
上面的過程有什麼問題?
您如何計劃將此應用程序部署到最終用戶? –
@DavidHeffernan感謝您的評論,我計劃手動部署此應用程序 - 只需複製文件並根據需要執行一些命令(可選)。 – Naoki
那麼你爲什麼反對將DLL放在EXE旁邊呢? FWIW,我認爲regasm註冊會在註冊時註冊DLL的位置。把它放在你想要的地方,然後調用regasm。 –