+ -
当前位置:首页 → 问答吧 → 如何将这个C函数转成Delphi 的函数?

如何将这个C函数转成Delphi 的函数?

时间:2011-12-14

来源:互联网

我不熟悉C语言这种无类型指针返回,如何转成Delphi的函数

const void* TTSLIBAPI QTTSAudioGet(const char* sessionID, unsigned int* audioLen, int* synthStatus, int* errorCode)

请教!

作者: yaocf   发布时间: 2011-12-14

这样?
Delphi(Pascal) code

type
  pTSLIBAPI =^TTSLIBAPI;
  TTSLIBAPI=record
    a :Integer;
  end;

...
function QTTSAudioGet(const sessionID:PChar;var audioLen,synthStatus,errorCode:Cardinal):pTSLIBAPI;

作者: skap   发布时间: 2011-12-14

function QTTSAudioGet(sessionID : PAnsiChar; audioLen:PDWORD; synthStatus:PInteger; errorCode:PInteger):Pointer;调用约定;external 'XXX.DLL';

TTSLIBAPI 应该是调用约定或者__declspec(dllexport) 这样声明导出的.
另外C++调用约定也可以在DEF文件中单独定义.你要知道一下这个调用约定是什么.把调用约定换上就好了.
Delphi支持的调用约定有register,cdecl,stdcall,pascal.C++支持的有__cdecl,__stdcall,__pascal.

作者: wr960204   发布时间: 2011-12-14