1

ホストされているIronPython環境内で実行されているPythonスクリプトから行番号を取得することは可能ですか?スクリプトの実行中に、ホストされた環境の外部(つまり、ホスティングアプリケーション内)のAvalonEditコントロールでその行を強調したいと思います。

4

1 に答える 1

2

スクリプトエンジンにトレースコールバックメソッドを与えるだけで行を取得し、それに応じてIBackgroundRendererを更新する適切なイベントを(おそらく非同期で)起動することが可能であることがわかりました...まあ...それは機能します。

strategyScriptEngine.SetTrace(IronPythonTraceBack);
strategyScriptEngine.Execute(script, strategyScope);

同じクラスの他の場所:

private static TracebackDelegate IronPythonTraceBack(TraceBackFrame frame, string result, object payload)
{
    if (IronPythonExecutingLine != null) IronPythonExecutingLine((int)frame.f_lineno);
    return IronPythonTraceBack;
}
于 2013-03-14T18:34:46.180 に答える