2017-04-11 76 views
1

我想在WinDev應用程序中使用DLL(用C++開發),我的DLL可以很好地用C#代碼工作,我可以在那裏調用任何方法,但是使用Windev我可以成功加載DLL:從WinDev調用DLL方法

hInst = LoadDLL("MyDLL.DLL")

,但是當我想調用的方法是這樣的:。

CallDLL32("MyDLL", "GetCode", data, res1, res2) 

我得到一個錯誤「試圖讀取或寫入保護內存這通常是指示其他內存已損壞。 「

,我想調用的方法的簽名是這樣的方式:

string GetCode([IN] byte[] Data, [OUT] string res1, [OUT] string res2) 
+0

問題解決了:我用匯編.NET從windev並需要字符串數組轉換爲字節數組 'sMyString是字符串=「VOTRE CHAINE德caractère」 n標註爲int =長度(sMyString) tabByteArray是陣列n尺寸1字節int K是int FOR K = 1 TO nDimension tabArray [K] = ASC(Middle(sMyString,K,1)) END' –

回答

0

post在法國建議您前綴&琴絃,因爲它必須通過引用傳遞,它大概應該看起來像:

CallDLL32("MyDLL", "GetCode", &data, &res1, &res2) 

雖然我不知道它如何處理字節數組。