【发布时间】:2017-04-11 10:52:31
【问题描述】:
我想在 WinDev 应用程序中使用一个 DLL(用 C++ 开发),我的 DLL 可以在 C# 代码中正常工作,我可以在那里调用任何方法,但是使用 Windev 我可以成功地加载 DLL:
hInst = LoadDLL("MyDLL.DLL")
但是当我想以这种方式调用方法时:
CallDLL32("MyDLL", "GetCode", data, res1, res2)
我收到一个错误“尝试读取或写入受保护的内存。这通常表明其他内存已损坏。”
我想调用的方法签名是这样的:
string GetCode([IN] byte[] Data, [OUT] string res1, [OUT] string res2)
【问题讨论】:
-
问题已解决:我使用了来自windev的汇编器.net,需要将字符串数组转换为字节数组
sMyString is string = "votre chaine de caractère" nDimension is int = Length(sMyString) tabByteArray is array of nDimension 1-byte int K is int FOR K = 1 TO nDimension tabArray[K] = ASC(Middle(sMyString, K, 1)) END