Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java System.load()永远不会发生_Java_C++_Dll_Applet_Signed Applet - Fatal编程技术网

Java System.load()永远不会发生

Java System.load()永远不会发生,java,c++,dll,applet,signed-applet,Java,C++,Dll,Applet,Signed Applet,我在一个自签名的Java小程序上使用System.load(),旧版本的dll加载良好,但我的新版本(即使dll构建良好)不加载,不抛出任何异常,只是停止跟踪中的代码 你知道是什么原因造成的吗 这是部署jar文件的html: <embed id = "IB" type = "application/x-java-applet" width = "{$width}" height = "{$height}" code = "{$code}" archive = "{$archive

我在一个自签名的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}"
/>
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处于调试模式。。当设置为释放模式时,所有功能都完美无瑕!
也许这可以节省一些时间…

小程序是如何部署的?加载它的HTML是什么?谢谢Andrew,我编辑了我的问题不要使用嵌入元素!它在W3C认可的任何HTML版本中都不是有效的HTML。使用部署applet会更好、更安全、更可靠。这可能会解决问题。试试看,回来找我。@Andrew添加部署工具包脚本后,我得到了相同的结果。加载旧的dll文件时,新的dll文件会使小程序崩溃。OK。您可以尝试使用JWS部署它,但这只会带来很小的改变。我不太了解C++,以判断代码中是否有可疑的东西。
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;
    }
}