bcb代码转delphi
newyj 2001-11-03 02:49:08 bcb 写的dll 中有个函数
xtern "C" __declspec(dllexport) int __stdcall GetTTSData(String TextStr,
String IPStr, String FileName,PBYTE &PCMBuffer, int Speed)
{
TTSData objTtsData;
TMemoryStream* MyStream;
int dwFileSize, nRet;
//检查PCMBuffer是否NULL
if(PCMBuffer != NULL) {
delete PCMBuffer;
PCMBuffer = NULL;
}
...
MyStream = new TMemoryStream;
MyStream->Write((void*)((int)objTtsData.pOutBuf) , objTtsData.dwOutBufSize);
dwFileSize = MyStream->Seek(0, soFromEnd);
PCMBuffer = new byte[dwFileSize];
MyStream->Seek(0, soFromBeginning);
MyStream->Read(PCMBuffer, dwFileSize);
delete MyStream;
}
}
在delphi 中调用
function GetTTSData(TextStr, IPStr, FileName:String; PCMBuffer: Pointer; Speed: integer): integer; stdcall; external 'dmtts.dll' name 'GetTTSData';
GetTTSData(TextStr, IPStr, FileName, @PCMBuffer,Speed);
我想转成delphi 的
主要我弄不清如何 表示PBYTE PBYTE &PCMBuffer
且 PCMBuffer 的内存如何分配 getmem( PCMBuffer ,size)好像不行