JAVA プログラム内からサードパーティの .NET DLL (ここから取得) を呼び出そうとしています。こことここを見た後、すべてをコンパイルして実行することができました。しかし、.NET コードを実行すると例外が発生します。
Java ランタイム環境によって致命的なエラーが検出されました
これは、.NET DLL 内から別の .net オブジェクトとメソッドにアクセスしようとしたときにのみ発生します。
JNIEXPORT void JNICALL Java_test_broadcast
(JNIEnv *, jobject)
{
// Instantiate the MC++ class.
IManagedWrapper* t = IManagedWrapper::CreateInstance();
// The actual call is made.
t->Broadcast();
}
void ManagedWrapper::Broadcast(std::string message)
{
//Uncommenting the following line will raise the error
//IXDBroadcast^ broadcast = XDBroadcast::CreateBroadcast(XDTransportMode::WindowsMessaging);
}
上記のコードにリンクし、必要に応じて動作する .NET DLL を作成することができました。
Java コードから .NET オブジェクトとメソッドを呼び出すにはどうすればよいですか?