我有一个ActiveX,当点击里面的物体时,然触发一个事件.
现在事件参数:
var pvarNodeValue: OleVariantpvarNodeValue中保存着一组值,有这个物体的X,Y,Z值等.我现在直接用x_edit := pvarNodeValue[0]来获取其中的一个值,值是可以出来,但每当我点击这个物体时就报一个错:invalid argument请问怎么样给olevariant类型怎么转为Float类型?
现在事件参数:
var pvarNodeValue: OleVariantpvarNodeValue中保存着一组值,有这个物体的X,Y,Z值等.我现在直接用x_edit := pvarNodeValue[0]来获取其中的一个值,值是可以出来,但每当我点击这个物体时就报一个错:invalid argument请问怎么样给olevariant类型怎么转为Float类型?
VarAsType 和VarCast 标准例程能用来改变一个Variant 的内部表示。下面代码演示了Variant 的使用以及
当Variant 和其它类型混用时会发生的一些自动转换。
所以,你的问题应该不是出在这部分。
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;