QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2246|回复: 1

JNI与QT结合出现的问题

[复制链接]
发表于 2006-9-15 14:07:47 | 显示全部楼层 |阅读模式
在JAVA写的SWT应用程序中使用JNI技术加载动态连接库,并成功执行库中的QT图形界面,当在QT中反调用JAVA方法时,JAVA虚拟机崩溃,查看错误日志确定是由动态库QT中的回调函数导致。

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

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

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

我在windows下用VC作的动态库中使用CreateDialog()和ShowWindow()创建非模态对话框,反调JAVA方法时不会出现问题,在LINUX下难道被调用的动态库和调用他的主程序只能有一个消息循环吗? 还是QT的问题???
发表于 2006-10-17 21:58:37 | 显示全部楼层
你在用qt jambi?

我不懂java
只玩过hello world
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 06:33 , Processed in 0.049973 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表