で型TObjectの変更スクリプト変数値IがこのデルファイDWScript - scriptruntime
var Outputter: TOutputter;
procedure OutputterTester;
begin
Outputter.Print;
end;
TOutputterようDWScriptを有するが宣言され、Delphiコードで作成さにさらされる(複雑なクラスの一例に過ぎません) Rtti経由のDWScript。
TOutputter = class
procedure Print;
end;
私はいくつかのインスタンスに対してコンパイルされたスクリプトを使用したいが、現在のインスタンスにリンクされているOutputter値を変更したい。 は、私は私がしてスクリプト変数にアクセスすることができます知っている:
var Exec : IdwsProgramExecution;
...
AVar := Exec.Info.Vars['Outputter'].Value;
しかし、値はので、私は、オブジェクトをassigneすることはできませんバリアントです。どのように値を変更できますか? 。私が最初のようなスクリプトでクラスを作成する場合:
procedure Init;
Outputter := TOutputter.Create;
end;
私はExec.Info.Vars [「出力器」] ScriptObj.ExtObject(Delphiコードで作成された)TOutputterの任意のインスタンスを割り当てることができ
とscriptcodeでそれらにアクセスアウトプッターオーバー。しかし私はinitパートなしでTOutputterのインスタンスを作成したデルファイコードを割り当てたい。
は助けてくれてありがとう!
TOutputterとは何ですか?クラス?レコード?型へのエイリアス?また、スクリプト側オブジェクトの作成責任者は誰ですか?また、そのスクリプト側オブジェクトの背後にあるDelphi側オブジェクトの管理責任者は誰ですか? (「誰が私のスクリプトを意味するの?デルファイのコード?別のもの?) –
私は不明確な事実に答えるために私の質問を調整しました。ご協力ありがとうございます! – DragonFlyOfGold