日曜プログラマーのぼやき。ぱあと・つー。

 

前回のアレを試してみた見たトコロ、メタセコイアからプラグインDLL内のC++\CLIに関わる機能を呼び出した瞬間に例外が発生してしまいまん。

あ゛ー ι(´Д`υ)

その時の記録を残してないので詳しいエラー情報がわからないんだけども、いわゆる std::exception 的な例外ではなく、ox8XXXXXXX 的な数値のみの例外報告。

 

gcroot を使用している class を new しようとした時に発生するところまでは突き止めたんだけども、エラー情報が何を示しているのかすらわからず、メタセコイア内の何かとバッティングしてるんじゃないかなーという推測(?)しかできないくらいでございますのよ。

ということで、別のアプローチとして、いっそのことプロセス分けてしまおうかと。

プラグインDLLはC++のみで書いて、SpaceNavigatorにアクセスする部分を単独のexeに分離。プロセス間通信を使用してセンサーの情報を取得してみようじゃマイカと。

プロセス間通信はWin32APIの名前付きパイプを使用。

いやはや、なんとも回りくどい方法になってきたわねーw

さて、うまくいくかしら。

 

ちなみに、3DConnexionからまだ返答が来ないっていうか、届いているのかすらアヤシイ感じ。


↓ランキングに参加してます↓
ブログランキング・にほんブログ村へ
人気ブログランキングへ