在引入VC写的OCX控件时,VC++中定义的外口函数参数类型:char *和unsigned char *,转换到D6中分别为:var {??Shortint}OleVariant和var Byte 。请问一下如何调用该转换后的函数。在线等待中。

解决方案 »

  1.   

    char *   ----- PChar   or    var Charunsigned char * ----- PByte   or var Bytefunction f(Param: PChar): Boolean; stdcall;
    //....
    var
      A: array[0..100] of Char;
    begin
      f(A); //如果是输出 f('如果是输入')
    end;
    //or
    var
      A: PChar;
    begin
      GetMem(A, 100);
      f(A);
      FreeMem(A, 100);
    end;
      

  2.   

    楼上,能否举个例子。比如VC中定义unsigned char * ,那DELPHI中如何应用,申明var byte。你前面说的不是这个。VC中定义,如果DELPHI中申明为地址或者PCHAR都可以,但var byte就不行。