当前位置:  技术问答>java相关

关于Java本地接口的问题(JNI),分数不是问题

    来源: 互联网  发布时间:2015-09-15

    本文导语:  各位老大,有用过JNI的没有?小弟在使用JNI的时候遇到了一点问题,下面是描述: 应用程序主体是由Java编写,有一个外设是PDA,需要将它的数据传输到数据库中或者从数据库中取得数据。 PDA厂商提供了一个COM组件...

各位老大,有用过JNI的没有?小弟在使用JNI的时候遇到了一点问题,下面是描述:

应用程序主体是由Java编写,有一个外设是PDA,需要将它的数据传输到数据库中或者从数据库中取得数据。

PDA厂商提供了一个COM组件,它有几个接口函数来控制PDA上传或者下载数据。

我写了一个动态连接库(DLL),它的功能就是完成将PDA中的数据上传到本地PC形成文件,和取本地文件送到PDA中,DLL里面调用了这个COM组件。

COM组件通过包容,内包了一个COM组件,外面这个COM组件创建一个隐含窗口,接收内包的COM传送的消息,然后将参数记载到一个变量中保存,再通过一个接口函数查询得到这个变量。
外包的这个COM里面创建了一个事件(event1),在在变量更新的时候将这个事件set一下(实际使用的是plus)。

在DLL中创建一个辅助线程,里面openevent1,然后等待这个事件,等到事件之后通过接口函数查询得到COM中的变量值。
在DLL的主线程里面创建一个事件(event2),在辅助线程退出的时候setevent2使主线程继续,然后waitforsingleobject(event2),也就是要在这个函数里面等待辅助线程结束。

这样做从理论上来讲是没有问题的,但是实际上这样做之后,wait(event1)会超时。
如果不使用event2,而用类似messagebox的方式使程序挂起,则wait(event1)就没有问题,可以等到。

需要说明的是这个dll被Java的Applet调用,dll调用COM组件的函数。


上面所叙述的是一种解决办法中遇到的问题,如果能说在DLL中可以直接进行消息循环,接收COM发送的消息,那么就不再需要外包的那个COM了,相应的麻烦事也就没了。

|
小意思,给我发邮件,httpfile@hotmail.com

|
问题可能出在waitforsingleobject上面,如果在UI线程中调用这个函数好像会使消息循环阻塞,我以前编写的vc程序中就出过这个问题,建议不要使用这个函数,可以使用向线程发消息来解决。

    
 
 

您可能感兴趣的文章:

  • Java读写包括中文的txt文件时不同编码格式问题解决
  • 菜鸟的问题:java与java script 的异同??
  • java新手的问题,java高手帮忙...
  • 低级问题:.java文件交付用户怎么运行,难道也是DOS下:java xx.java?有没有.exe?
  • 请各位java高手几个java有关的问题?
  • java.sql.Date和java.uitl.Date的问题?
  • 问大哥大姐们个问题啊,小第编了自己的第一个JAVA问题。用JAVAC编译能通过啊!可是用JAVA不能执行啊!
  • 最入门级的java问题,如何运行HelloWorld.java
  • 请教一些JAVA的基本问题,初学JAVA有些迷糊,帮帮忙!总迷糊实在受不了了!
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 关于JAVA应用程序(Java Application)的deliver问题
  • 请Linux 和Java 的高手回答:java JDK1.3.1 在红旗Linux Desktop 2.4 的问题,一定给分。
  • 一个极其菜的问题:JAVA,VISUAL J++,JAVA SCRIPT,EJB,它们之间到底有什么关系,谢谢!
  • 我的Javac没有问题,但是java有问题,
  • 一个JAVA继承的问题(Thinking in JAVA里的一个例子)
  • 刚学习Java,请教关于Java的Application代码编写问题。
  • 我所学的是计算机,现在想学JAVA,对JAVA绝对是初学!!!可以交流的留下个地址。肯定给分,不过非完分后就是问题,问题,问题了;)有留E-mail至少1分
  • 两个非常简单的问题,给40分 (才学2天JAVA人的问题)
  • 问个简单的低级又很怪的问题,我在编译*.java的问题。
  • java学习的问题<问题解决立即结贴>?
  • 我是学pb的,有一个问题想请教各位java的朋友,j2ee平台是什么啊?如果要用这个平台的开发pb的话是否要学java??
  • 有没有java聊天室的源程序下载?分数全部给上只有这么多了
  • 大家来谈谈java语言的书写规则吧。(分数不断增加中)
  • 现急需bmp文件转换成jpg文件的java源代码,请高手们帮帮忙,分数可再加。
  • 所有分数求助。java错误的问题。马上给分。
  • 小弟做了Java大半年了,竟然不知道OA是什么。哪位大侠能够给我一个全称或者概念就行了!分数太多了,一定给分。
  • java在什么网址有详细的学习材料?jbuild什么地方可以下载?怎么安装?分数随答案马上给出!
  • 请教:使用java.net中httpURLConnection类模拟post方法?、、全部分数送上!
  • ?请教:十万火急使用java.net中httpURLConnection类模拟post方法?、、全部分数送
  • 请问刚安装好JDK后,在任何目录下可使用JAVA,但不能使用JAVAC,JAVAH等是怎么回事?(请高手帮忙,分数20))
  • JAVA我K死你,弄了一本基本教材,下了一个JDK1。3。1又不会配置,编译当然就不能了,还学什么学啊,我眼泪。。。哎,大虾总什么配置路径就可以 ,你给说清楚啊,一个字母一个字母好不好,我把分数全给你
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.script接口invocable的类成员方法: getinterface定义及介绍
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • java命名空间javax.lang.model.element接口typeelement的类成员方法: getinterfaces定义及介绍
  • ImageMagick的Java 接口 im4java
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getmanagementspecversion定义及介绍
  • 【请教】java中接口问题
  • java命名空间java.beans.beancontext接口beancontextproxy的类成员方法: getbeancontextproxy定义及介绍
  • 我刚学java,想请教一下,我在文本中创建了一个接口,一个类,还有一个扩展类,保存为.java文件时,如何给文件名?
  • java命名空间javax.print接口uriexception的类成员方法: getreason定义及介绍
  • 在java中接口与抽象类在使用中有多大的区别
  • java命名空间javax.swing.text接口caret的类成员方法: install定义及介绍
  • SVN的Java接口 svnClientAdapter
  • java命名空间javax.swing接口rootpanecontainer的类成员方法: getrootpane定义及介绍
  • ImageMagick的Java接口 JMagick
  • java命名空间javax.swing.text接口highlighter的类成员方法: install定义及介绍
  • Java与Microsoft Office的接口问题
  • java命名空间java.lang.reflect接口parameterizedtype的类成员方法: getrawtype定义及介绍
  • java与C++的通信接口是什么阿?
  • java命名空间javax.management接口descriptorread的类成员方法: getdescriptor定义及介绍
  • 亚马逊Web服务的Java接口 Typica
  • java命名空间java.sql接口wrapper的类成员方法: unwrap定义及介绍
  • Java邮件接口 JavaMail
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3