我做一个项目,需要在服务端通过WEB服务器调用服务器上的一个dll。
由于dll是已经封装好了的。所以不能使用JNI,因为JNI需要在dll中嵌入jni.h等Java的东西。
找了半天资料,确定使用第三方开源组织的Jawin来做。
按照它的文档做出来了,也能够合法的逐个调用dll中的每个函数。但是,在一个用户线程中的一个代码段中连续调用dll的2个函数时,发现好像是2个函数之间没有关联性,就像是在2个不同的情景中执行的一样。但是需要调用的dll功能必须要求是要有连续性的,要做上一步才能做下一步。我想问下用过的朋友,这种情况应该如何去解决。或者介绍一些其他的方法去实现。

解决方案 »

  1.   

    我们用了一个商业的文档文件格式转TIF传真格式的虚拟打印机,它提供一个C++函数集(.dll)来实现批量文档格式转换.
    我们每次使用之前,需要先使用它的一个相当与注册的函数来根据得到的License Key来登录,这样调用后续的转换函数才能成功.
    原本我们这个过程是用一个C++程序来做为后台Daemon的,但是为了跟适应WEB使用过程中的单用户请求的转换结果和反馈信息的及时.
    我们就想用JaWin来在Java中调用这个函数集. 经过测试,每个函数单步的调用都没有问题. 但是注册和转换用JaWin一起做的时候
    发现好象是分别在两个不同的情景中完成的一样,注册过程成功,但紧接着的转换函数调用时返回没有注册的信息.
    我们没有太多的JaWin的使用经验,所以不知道是否JaWin的每个dll函数调用都是独立的.
    希望有经验的达人指点一下.
      

  2.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【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  %                  
    楼主加油