C++ 调用 Delphi Dll

接到一个项目,对方提供了一个dll和动态库函数说明文档,文档内的 参数类型为string ,请问下各位。string 类型对应C++ 什么类型啊,char wchar_t 等都试过了不对。

C++代码

typedef int (WINAPI *tool)(int port,const wchar_t *userid[]);

    HMODULE hDLL = LoadLibrary(L"IcCard.dll"); 

    if(hDLL != NULL)  

    {  

        tool too = tool(GetProcAddress(hDLL, "ic_test"));

            if(too != NULL)  

        { 

             const wchar_t  * userid = L"123456";

            //char userid[] = "123456";

            int ss = too(1,&userid);

            printf("%d",ss);

            }

    }

Delphi 动态库函数

function ic_test(port: integer; 
userid: string; 
): integer;stdcall;

 帮帮忙啊


慕仙森
浏览 949回答 2
2回答

萧十郎

试过C# C++ Delphi 最终还是一样的问题,返回值为类型错误,可能并不是类型问题,而是动态库本身问题了。结帖了

鸿蒙传说

应该是char *或者char [],其实这个对应就是内存地址之间的映射和数据格式的转换,有的时候一种格式可以对应很多类型。
打开App,查看更多内容
随时随地看视频慕课网APP