我有一个OLEVariant变量,怎么发送呢?
我想应该用SendBuf来做,可是这个东东我还不会用,希望大家帮忙

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ClientSocket1.Open;
    end;procedure TForm1.ClientSocket1Connect(Sender: TObject;
      Socket: TCustomWinSocket);
    var
      V: OleVariant;
    begin
      V:=123;
      Socket.SendBuf(V, SizeOf(V));
      Socket.Close;
    end;procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    var
      V: OleVariant;
    begin
      Socket.ReceiveBuf(V, SizeOf(V));
      ShowMessage(V);
    end;不要用引用类型(如:Object)的对象和指针类型(如:Pointer、包括字符串)的变量给OleVariant赋值,这样的话即使OleVariant对象被传递过去也是没有用的,因为它里面存放的指针成为了野指针,会得到未知的结果。