ruslee 发表于 2006-9-15 14:07:47

JNI与QT结合出现的问题

在JAVA写的SWT应用程序中使用JNI技术加载动态连接库,并成功执行库中的QT图形界面,当在QT中反调用JAVA方法时,JAVA虚拟机崩溃,查看错误日志确定是由动态库QT中的回调函数导致。

还有这个现象:当动态库被加载并成功执行其中的QT部分显示出界面时,原来加载动态库的JAVASWT程序挂起。

所以我的想法是这样: SWT 唤出QT后,虽然同时存在2个界面,即一个是JAVA的,一个是QT的,但是他们只有同一个消息循环,在QT执行回调JAVA方法时,由于这时仍然存在QT窗口,就是说JAVA程序现在仍然是挂起的,所以回调JAVA方法失败,导致虚拟机崩溃。

现在我的问题是:怎么样使JAVA SWT的程序和QT分别有自己的消息循环???

我在windows下用VC作的动态库中使用CreateDialog()和ShowWindow()创建非模态对话框,反调JAVA方法时不会出现问题,在LINUX下难道被调用的动态库和调用他的主程序只能有一个消息循环吗? 还是QT的问题???

cavendish 发表于 2006-10-17 21:58:37

你在用qt jambi?

我不懂java
只玩过hello world
页: [1]
查看完整版本: JNI与QT结合出现的问题