2012-04-01 13 views
2
 ScriptEngine PythonEngine = Python.CreateEngine();    
     Scope = PythonEngine.CreateScope(); 

     Point P = new Point(-1,1); 
     Scope.SetVariable("QWE", P); 

     PythonEngine.Execute("QWE.X = 0"); 

     Console.WriteLine(P); 

は「UnboundNameExceptionが未処理された」ポイントの変更、UnboundNameException

を「グローバル名 『QWE』が定義されていません」私はこの例外が何を意味するのか見当がつかない、またそれを解決する方法、および私はかなりシンプルなことをしていると信じています...そうですか?

答えて

3

あなたのエンジンはスコープに縛られていません。次の行を変更してください:

PythonEngine.Execute("QWE.X = 0", scope); 

エラーは、変数 "QWE"がコードで宣言されていないことを意味します。エンジンが定義された範囲(QWEが宣言されている)で実行されていなかったためです。

IronPythonを使い始めるには、このlinkを読むことをお勧めします。彼らはコード例といくつかの説明を持っています。

関連する問題