请教各位,我将一个文件读入到一个pointer得缓冲区中,然后调用vc动态库得一个函数,该函数要传入longint得缓冲区地址,怎么实现?
下面是我得代码
function Tteladmin.PlayVoiceByPosition(var id, id1, path,
  startposition: OleVariant): OleVariant;
var
    mLength   :longint;
    pBuffer   :Pointer;
    mFile     :File;
    mTempFile :File;
begin
    assignfile(mFile,path);
    reset(mFile,1);
    seek(mFile,longint((startposition-1)*8000));
    mlength:=filesize(mFile);
    mLength:=mLength-longint((startposition-1)*8000);    assignfile(mTempFile,'e:\temp.voc');
    rewrite(mTempFile,1);
    GetMem(pBuffer,mLength);
    blockread(mFile,pBuffer^,mLength);
    blockwrite(mTempFile,pBuffer^,mLength);
    
    closefile(mFile);
    closefile(mTempFile);
    stoprp(id);
    playmem(id,integer(pinteger(@pBuffer^)),mlength);  //调用playmem函数来播放内存区域,怎么总是传不过去????
    freemem(pBuffer);
end;
playmem的得delphi声明为:
function PlayMem(No:SmallInt;MemPtr,MemSize:LongInt):SmallInt; stdcall;external 'kkkk.dll' ;
在线等待!!急!!