高手! 关于 delphi调用 C++ 控件方法 中olevariant参数的有关问题?

高手!!! 关于 delphi调用 C++ 控件方法 中olevariant参数的问题????
我用delphi调用c++ 写的一个ocx控件 其中有个方法是 中的参数类型是olevariant类型.我怎么传都报错,有的是编译错误有的是运行时 说类型不匹配.我把详细的定义写出来 ,希望各位给点提示吧

C++中该函数的定义是:
showImage(long framelenght,int codecType,unsigned long frameType,unsigned long width,unsigned long height,char * frame)

delphi中调用该方法是,在TLB文件看到的接口是
procedure TDrawer.showImage(framelenght: Integer; codecType: SYSINT; frameType: LongWord;
  width: LongWord; height: LongWord; var frame: {??Shortint}OleVariant); 
问题就出在最后一个参数中,我在delphi程序中 试过几种方法,但都不行;
1)定义了一个OleVariant 型变量FrameBuff, 将一个char数组 filemem[]的地址 赋值给这个变量 结果编译通过,运行时报"类型不匹配"
2)我直接将一个Pchar类型的变量 做为参数 结果编译不通过.

项目特别紧,请各位给点建议吧,多谢了!解决的话一定给分!

------解决方案--------------------
对了 你的char数组 是动态的还是 静态的?