LuaInterfaceというアセンブリを使用して、C#アプリケーション内でluaコードを実行しています。ルア実行中に、私はいくつかのWinForms &マップイベントハンドラ(lua-methods)を作成します。C#でLua例外をキャッチする方法
doString
(別名runLuaCode
)メソッドでは、initルーチンとコンストラクタのみが実行されるという問題があります。これは問題ありませんが、doString
関数はブロックされていないので、関数が返ってくるので、Luaが作成したフォームはまだそこにあります。これは、コンストラクタ中に発生しなかった例外(null-refなど)は、エディタのwndProcまでクラッシュするluaエラーによって処理されないことを意味します。これはおそらくエディタを強制終了し、エラー処理を行います事実上不可能です。
このサブタスクだけが例外を処理する必要があるように、独自のWndProcを処理する新しいスレッド/プロセス/ AppDomainを作成する方法はありますか?
フォームが閉じられるまで、whileループでdoStringでエディタをブロックする必要がありますか?
その他のオプションはありますか?
この問題に関するアドバイスをいただければ幸いです。
申し訳ありませんが、私はそれを取得できませんか? – Corelgott
よろしくお願いします...これは意図的なものではありませんでした - 申し訳ありません&ご自身のことを思い出させる - rtfm – Corelgott
これを修正するのは遅くはありません;-) –