1

在使用 RTTIVariable 类型编译我的 dws 脚本时,我收到一个编译错误“无效的操作数”。以下是否可以工作?

声明变量是一种形式。

gVar := ScriptUnit.Variables.Add;
gVar.Name := 'MDIForm';
gVar.DataType := SYS_RTTIVARIANT;
gVar.OnReadVar := onGetMDI;

procedure TGuff.onGetMDI(info: TProgramInfo; var value: Variant);
begin
  value := TdwsRTTIVariant.FromObject(FMDIForm);
end;

该脚本不会在此行上编译。似乎它只想要一个字符串。

if (length(MDIForm.edit1.Text) = 0) then

所有帮助表示赞赏

4

1 回答 1

0

现在应该在主干版本中支持这一点,类型检查有点过于严格并且拒绝了 RTTI(和 OLE)变体。

于 2013-05-28T09:28:23.613 回答