delphi引用c/c++ dll问题
别人给了我一个dll,也有相应的参数说明:intadd(char*request,char*response);request参数为传递给他的数据,response为系统...
别人给了我一个dll,也有相应的参数说明:int add(char * request,char *response);request参数为传递给他的数据,response为系统传回的参数!一般自己遇见的都是向函数中传参,没有遇见过像这个参数还有个系统传回的参数,调用是测试是没有问题
但是我就是不知道怎么取这个系统传回的参数response!请大吓指点,分不够说,一定尽全力满足,非常感谢! 展开
但是我就是不知道怎么取这个系统传回的参数response!请大吓指点,分不够说,一定尽全力满足,非常感谢! 展开
2个回答
展开全部
首先根据函数int add(char * request,char *response)转为delphi的为
function add(request: PChar; response: PChar): Integer;
参数二确认为接受数据的, 则需要为变量分配一此内存,如:
var
Response: Array[0..255] of Char;
begin
FillChar(Response, Sizeof(Response), 0); // 初始化
add('111111112222222', @Response[0]);
ShowMessage(string(Response));
end;
function add(request: PChar; response: PChar): Integer;
参数二确认为接受数据的, 则需要为变量分配一此内存,如:
var
Response: Array[0..255] of Char;
begin
FillChar(Response, Sizeof(Response), 0); // 初始化
add('111111112222222', @Response[0]);
ShowMessage(string(Response));
end;
更多追问追答
追问
哦,回去我试试,dll引用是不是的用 cdecl,这个给的空间用释放吗?怎么释放呢? 非常感谢你,
追答
这个调用约你没有给出我也不知道, 但按一般写标准的dll都是使用stdcall, c++也有可能会使用cdecl约定.. 空间?不知道你指的是哪个空间, 如果是内存的话释放不释放, 这般不用管, 但取决于被调用的dll, 约定只告诉系编译器数怎么传递
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询