0

自己署名付き Java アプレットで System.load() を使用しています。古いバージョンの dll は正常にロードされますが、新しいバージョン (DLL が正常にビルドされていても) はロードされず、例外がスローされず、コードが停止するだけです。そのトラックで。

これを引き起こす原因についてのアイデアはありますか?

これは、jar ファイルをデプロイする html です。

<embed  id = "IB" 
type = "application/x-java-applet" 
width = "{$width}" 
height = "{$height}" 
code = "{$code}"
archive = "{$archive}"
username = "{$username}"
password = "{$password}"
account = "{$customer_ref}"
debug = "{$debug}"
baseweburl = "{$baseweburl}"
webserviceurl = "{$webserviceurl}"
/>

Dll ファイルを作成するために追加した C++:

ヘッダー (javah 作成)

/*
 * Class:     i_jni_B
 * Method:    DeviceOnline
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_i_jni_B_DeviceOnline
  (JNIEnv *, jobject);

Cpp ファイル

JNIEXPORT jboolean JNICALL Java_i_jni_B_DeviceOnline
  (JNIEnv *env, jobject)
{
    try
    {
        CDevice* clsDevice = new CDevice();
        clsDevice->Initialize();
        clsDevice->Release();
        return true;
    }
    catch (System::Exception^ ex)
    {
        return false;
    }
}
4

1 に答える 1

0

あなたは解決策を信じることは決してないでしょう:私はデバッグモードでVisual Studioを持っていました..リリースモードに設定すると、すべてが完全に機能します! たぶん、これで誰かの時間を節約できます...

于 2013-05-15T07:59:47.777 に答える