从Delphi添加强类型的RttiVariant以暴露给DWS脚本

时间:2013-09-05 02:04:46

标签: delphi dwscript

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

0 个答案:

没有答案