功能是读取相机里的相片。Delphi函数:GetPreview(nCamno:integer;nBuffsize:integer;varbuffer:olevariant);VB函数:GetPreview nCamno:integer, nBuffsize:integer ,varbuffer:olevariant;
nCamno,nbuffsize 已知
VB示例:
    Redim indexbuff(nbuffsize) as byte 
    GetPreview nCamno, nBuffsize,indexbuff;示例可以读出来
以下是我用Delphi做的
  var
     indexbuff:array of byte;..........
    setlength(indexbuff,nbuffsize);
    GetPreview(nCamno,nBuffsize,indexbuff);  怎么也读不出来,indexbuff里全是0,不知道为什么,是类据类型的问题吗?诚心求解,谢谢各位。

解决方案 »

  1.   

    的确晕,看不出什么错误。你确定var了?
      

  2.   

    我都郁闷半天了,我确定可以通过,但是就是读不出来,indexbuff里全是零,不知道怎么了,Getpreview是OCX控件提供的,不知道是什么原因,用VB就能读出来,同样的代码,谁能帮帮我,就这个读出函数不管用,其它函数(镜头zoom,相片数量等等)都可以使用。
      

  3.   

    GetPreview(nCamno,nBuffsize,indexbuff);
    改为
    GetPreview(nCamno,nBuffsize,@indexbuff);呢?
      

  4.   

    你把OLEVariant换成Variant 试试呢?
      

  5.   

    发个Email问厂商~,问它讨Delphi 的Demo~
      

  6.   

    Delphi函数:GetPreview(nCamno:integer;nBuffsize:integer;var varbuffer:olevariant);增加var 传址方式呢?