1

我希望在编译时检查我的脚本,因此不希望将我的全局变量公开为 RTTIVariant。我使用以下代码将 Screen 对象公开给脚本。

Delphi端全局变量创建

var CompVar : TdwsGlobal;
..
CompVar := dwsUnit1.Variables.Add;
CompVar.Name := 'Screen';
CompVar.DataType := 'RttiVariant';
CompVar.OnReadVar := onGetScreen;

procedure onGetScreen(info: TProgramInfo; var value: Variant);
begin
  value := TdwsRTTIVariant.FromObject(Screen);
end;

我想做的是用'RttiVariant<Vcl.Forms.TScreen>'替换'RttiVariant'。Script 对在 Delphi 端使用强 RTTIVariant 类型不满意,但在脚本端却很高兴。无论如何要做到这一点?

4

0 回答 0