我有一个ActiveX,当点击里面的物体时,然触发一个事件.
现在事件参数: 
  var pvarNodeValue: OleVariantpvarNodeValue中保存着一组值,有这个物体的X,Y,Z值等.我现在直接用x_edit := pvarNodeValue[0]来获取其中的一个值,值是可以出来,但每当我点击这个物体时就报一个错:invalid argument请问怎么样给olevariant类型怎么转为Float类型?

解决方案 »

  1.   

    所有的整数、实数、字符串、字符和布尔类型与 Variant 是赋值兼容的。表达式能明确转换为Variant,
    VarAsType 和VarCast 标准例程能用来改变一个Variant 的内部表示。下面代码演示了Variant 的使用以及
    当Variant 和其它类型混用时会发生的一些自动转换。
    所以,你的问题应该不是出在这部分。
      

  2.   

    var
    V1, V2, V3, V4, V5: Variant;
    I: Integer;
    D: Double;
    S: string;
    begin
    V1 := 1; { 整数值 }
    V2 := 1234.5678; { 实数值 }
    V3 := 'Hello world!'; { 字符串 }
    V4 := '1000'; { 字符串 }
    V5 := V1 + V2 + V4; { 实数值 2235.5678}
    I := V1; { I = 1 (整数值) }
    D := V2; { D = 1234.5678 (实数值) }
    S := V3; { S = 'Hello world!' (字符串) }
    I := V4; { I = 1000 (整数值) }
    S := V5; { S = '2235.5678' (字符串) }
    end;