int mInit(int x,int y,int *handle);
成功返回0
参数x,y表示宽度与高度
当初始化成功后,参数handle返回解码句柄。int mMain(int dec_handle,int x,unsigned char *mv_buffer, unsigned char *out_buffer,int mv_size);
成功返回0
参数dec_handle为句柄,为调用函数mInit()的返回
参数x为宽度
参数mv_buffer指示了存放前数据缓冲区,而mv_size则为其大小(单位:字节)
参数out_buffer指示了存放后的数据缓冲区int mFree(int dec_handle);
释放所占用的内存资源,成功返回0
参数dec_handle为句柄,为调用函数mInit()的返回>>Delphi里如何调用这三个函数?

解决方案 »

  1.   

    function mInit(x: integer; y:integer; myhandle: PHandle): integer; stdcall;function mMain(dec_handle: integer;x: integer;mv_buffer:pchar;out_buffer: pointer;mv_size: integer): integer;
      

  2.   

    int mFree(int dec_handle);
    转换为:
    function mFree(dec_handle: integer): integer; stdcall;关于怎么在delphi中使用,要看你的这些函数的代码在什么地方。我估计是在dll文件中。
    如果我估计正确的化,你需要在这些申明后面加上 external 子句,指出所在的dll文件,如下:
    function mFree(dec_handle: integer): integer; stdcall; external 'a.dll'。
    当然如果你动态装载的化就不需要了。
      

  3.   

    int mInit(int x,int y,int *handle);
        int mMain(int dec_handle,int x,unsigned char *mv_buffer, unsigned char *out_buffer,int mv_size);
        int mFree(int dec_handle);
    ;//////////////////////////////////////////////////////////////////////////////////
    var
      temp: integer;
      ptemp: pchar;
    begin
      temp:= mInit(10,10,form1.handle);
      temp:= mMain(10,10,@ptemp,@ptemp,20);
      temp:= mFree(23);
    end;
    这样可能行吧?