我的問題是不導出函數,而是導入它。我確實知道函數和DLL都可以工作,因爲我使用了硬編碼的路徑來指向DLL。使用動態路徑指向DLL
這是目前工作:
function RoamingAppDataPath: String; external 'C:\Users\Peter\AppData\Roaming\ss\Application\ss.dll';
但是我需要指向同一個動態值的DLL所以我試圖做的是
- 聲明一個全局變量(的DLLPath:字符串)
- 分配的DLLPath值 - RoamingAppDataPath + '\ SS \應用程序\ ss.dll'
注意:RoamingAppDataPath是一個輸出漫遊應用程序數據文件夾路徑的函數。
我試圖運行的代碼是:
function RoamingAppDataPath: String; external DLLPath;
當我編譯代碼,德爾福告訴我,這是需要一個常量表達式:
E2026 Constant expression expected
什麼是圍繞工作爲了這?
向我們展示您的'DLLPath'常量的真正定義。從[E2026錯誤描述](http://docwiki.embarcadero.com/RADStudio/XE3/en/E2026_Constant_expression_expected_(Delphi))中可以明顯地看出我之所以要求這樣做的原因。 – TLama 2013-03-10 12:07:11
什麼是動態加載? btw:使用字符串作爲參數沒有sharemem將不是一個好主意。 – bummi 2013-03-10 12:07:34
@TLama - 我實際上已將DLLPath聲明爲字符串變量 – ple103 2013-03-10 12:11:09