我用‘VarArrayCreate’函数为何报是未声明的标示符

解决方案 »

  1.   

    你用的是Delphi6,要引用Variants单元;server:
    procedure TRemoteDataModule.GetSome(var Data: OleVariant);
    begin
      VarClear(Data);  //客户端没有传数据过来,那就先Clear
      Data := VarArrayCreate([0, Count], varVariant);
      Data[]赋值.
      //OK
    end;function TRemoteDataModule.GetSome: OleVariant;
    begin
      //将上面的Data改为Result即可
    end;client:
    procedure Proc1
    var
      data: OleVariant;
    begin
      SocketConnection1.AppServer.GetSome(Data);
      //or 
      Data := SOcketConnection1.AppServer.GetSome;
    end;
      

  2.   

    我使用的方法如下:
        Server(COM/DCOM程序)端: 
        procedure TTestDCOM.Send(Size: Integer; D1: OleVariant); 
        type 
             TData=array [0..999] of Byte; 
        Var 
             Data:TData; 
             i:Integer; 
        begin 
             for i:=0 to Size-1 do begin 
                  Data[i]:=D1[i]; 
             end; 
        end;   
      Cleint端:     Var 
            D1:OleVariant; 
        begin 
            D1:=VarArrayCreate([0,99],varByte); //此处报错!!!
            { 
            D1[1]:=45; 
               ....  //将值存入D1中             } 
            S.Send(99,D1);  //S是TestDCOM对象 
        end; 
      
    望各位给予赐教!
      

  3.   

    同意copy_paste(落泊的木石三) 
      

  4.   

    光标停在VarArrayCreate,按F1,看它在哪个单元定义的,然后引用那个单元。