我是调用一个语音卡的语音初始化函数,这个函数是在一个PAS文件里,该PAS文件里就是调用DLL的函数,这是卡的驱动程序里自带的。函数原形是 Procedure TVF_SetVoicei ( no :integer; file1 : string );CDECL; external TW8VFDLL;(TW8VFDLL 就是那个DLL); 我在程序里要设置102个语音文件(这个函数最多可设置256个语音文件);具体代码如下: var i:integer; s:string; begin tvf_setvoici(0,'');//前面两个要定义为空 tvf_setvoici(1,'');//前面两个要定义为空 for i:=2 to 52 do begin s:=extractfilepath(application.exename)+'data\sound\voic'+inttostr(i); tvf_setvoici(i,s); s:=extractfilepath(application.exename)+'data\sound\kvoic'+inttostr(i); tvf_setvoici(51+i,s); end; end;
Procedure TVF_SetVoicei ( no :integer; file1 : string );CDECL; external TW8VFDLL;(TW8VFDLL 就是那个DLL);
我在程序里要设置102个语音文件(这个函数最多可设置256个语音文件);具体代码如下:
var i:integer; s:string;
begin
tvf_setvoici(0,'');//前面两个要定义为空
tvf_setvoici(1,'');//前面两个要定义为空
for i:=2 to 52 do
begin
s:=extractfilepath(application.exename)+'data\sound\voic'+inttostr(i);
tvf_setvoici(i,s);
s:=extractfilepath(application.exename)+'data\sound\kvoic'+inttostr(i);
tvf_setvoici(51+i,s);
end;
end;
把cdecl去了,不要这关键字,
或改为stdcall试试