我想对我的脚本进行一些编译时检查,因此将我的全局变量暴露为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'。对于Delphi方面使用的强大的RTTIVariant类型,脚本不满意,但它在脚本方面很高兴。 无论如何实现这个目标?