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的问题??? 你在用qt jambi?
强
我不懂java
只玩过hello world
页:
[1]