Я использую System.load () на самозаверяющем Java-апплете, старая версия dll загружается нормально, но моя новая версия (даже если dll-сборка работает нормально) не загружается, не выдает никаких исключений, просто останавливает код в его треках.
Любые идеи относительно того, что может вызвать это?
Это HTML, который развертывает файл JAR:
<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}"/>
C ++, который я добавил для создания файла Dll:
Заголовок (созданный 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;
}
}
Вы никогда не поверите в решение
У меня была Visual Studio в режиме отладки. Когда установлен режим выпуска, все работает отлично!
Может быть, это сэкономит кому-то время …
Других решений пока нет …