在VC DLL中的 一个函数
char* test()
{
return "123456";
}我在Delphi里用 function test():string;stdcall; external 'xx.dll'我发现我怎么调用,发现都无法得到返回直,很多情况下,都内存出错了!
char* test()
{
return "123456";
}我在Delphi里用 function test():string;stdcall; external 'xx.dll'我发现我怎么调用,发现都无法得到返回直,很多情况下,都内存出错了!
解决方案 »
- 刚学习Delphi,大虾指教
- 我的下周代码 怎么老有“Destination file already exists.”错误啊 谁有正确代码啊??
- delphi动态加载包,出现Application is not licensed to use this feature异常?请教高手!!
- 如何得到TStream里面的内容?就是把TStream转换成string?
- 如何可以在没有类还没有创建的时候先用里面的一个子类吗?
- 我用的是ACCESS数据库,想在程序中建立一个临时表,该如何做?
- 急??
- 为什么我的D7里面没有ExcelApplication,ExcelWorkbook和ExcelWorksheet
- delphi 制作安装(急件在线)中文会出现乱码,有谁知道补丁
- win10下XE8,Debug总是进入CPU窗口,无法进入代码,咋办???
- 求一SQL语句!请高手指教,谢谢!
- 我的分怎么全没了?
function test():PChar;stdcall; external 'xx.dll' xx.dll要和程序在同一目录下
void test(char* buff,size_t &size)
{
char * result = "123456";
size = size>strlen(result)?strlen(result):size;
strncpy(buff,result,size);
} procedure test(Buffer:PChar;var BuffLen:Integer);cdecl; external 'xx.dll';var
buff: PChar;
bufflen: Integer;
str: String;
begin
bufflen := 10;
GetMem(buff,bufflen);
test(buff,bufflen);
SetString(str,buff,bufflen);
ShowMessage(str);
FreeMem(buff);