我做一个项目,需要在服务端通过WEB服务器调用服务器上的一个dll。
由于dll是已经封装好了的。所以不能使用JNI,因为JNI需要在dll中嵌入jni.h等Java的东西。
找了半天资料,确定使用第三方开源组织的Jawin来做。
按照它的文档做出来了,也能够合法的逐个调用dll中的每个函数。但是,在一个用户线程中的一个代码段中连续调用dll的2个函数时,发现好像是2个函数之间没有关联性,就像是在2个不同的情景中执行的一样。但是需要调用的dll功能必须要求是要有连续性的,要做上一步才能做下一步。我想问下用过的朋友,这种情况应该如何去解决。或者介绍一些其他的方法去实现。
由于dll是已经封装好了的。所以不能使用JNI,因为JNI需要在dll中嵌入jni.h等Java的东西。
找了半天资料,确定使用第三方开源组织的Jawin来做。
按照它的文档做出来了,也能够合法的逐个调用dll中的每个函数。但是,在一个用户线程中的一个代码段中连续调用dll的2个函数时,发现好像是2个函数之间没有关联性,就像是在2个不同的情景中执行的一样。但是需要调用的dll功能必须要求是要有连续性的,要做上一步才能做下一步。我想问下用过的朋友,这种情况应该如何去解决。或者介绍一些其他的方法去实现。
我们每次使用之前,需要先使用它的一个相当与注册的函数来根据得到的License Key来登录,这样调用后续的转换函数才能成功.
原本我们这个过程是用一个C++程序来做为后台Daemon的,但是为了跟适应WEB使用过程中的单用户请求的转换结果和反馈信息的及时.
我们就想用JaWin来在Java中调用这个函数集. 经过测试,每个函数单步的调用都没有问题. 但是注册和转换用JaWin一起做的时候
发现好象是分别在两个不同的情景中完成的一样,注册过程成功,但紧接着的转换函数调用时返回没有注册的信息.
我们没有太多的JaWin的使用经验,所以不知道是否JaWin的每个dll函数调用都是独立的.
希望有经验的达人指点一下.
楼主【mczg】截止到2008-07-15 16:57:24的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:40 每贴平均分数:20
回帖的总数量:3 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:1 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:20
结贴的百分比:50.00 % 结分的百分比:50.00 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油