Dll C函数转Delphi,变参总是返回nil, 请教!
时间:2011-12-15
来源:互联网
原Dll中的C函数,
const char* QTTSSessionBegin(const char* params, int* errorCode);
const void* TTSLIBAPI QTTSAudioGet(const char* sessionID, unsigned int* audioLen, int* synthStatus, int* errorCode);
转成Delphi;
function QTTSSessionBegin(params: pchar; var errorCode: pinteger): Pchar; stdcall; external 'msc.dll';
function QTTSAudioGet(sessionID: PChar; var audioLen: PDWORD;var synthStatus:PInteger; var errorCode: PInteger): Pointer; stdcall external 'msc.dll';
pret 只在var 中声明不赋值 pret: Pinteger;
params := 'ssm=1, auf=audio/L16;rate=16000, aue=speex-wb;7, ent=intp60';
session_id := QTTSSessionBegin(params, pret);
session_id 返回值正常,但pret 总是nil!
synth_speech := QTTSAudioGet(session_id, synth_speech_len, synth_status, pret);
synth_speech,synth_speech_len, synth_status用nil 转入,能返回值,但pret总是返回nil !
是我的程序写得不对,还是C函数有问题?请教!
作者: yaocf 发布时间: 2011-12-15
pret先分配內存
作者: kaikai_kk 发布时间: 2011-12-16
pret: Pinteger; 改为:
pret: Integer;
pret: Integer;
作者: maozefa 发布时间: 2011-12-16
函数中参数var errorCode: pinteger也改为:
var errorCode: Integer
var errorCode: Integer
作者: maozefa 发布时间: 2011-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28