Custom COM-Object-Invokation fails

Marek Luthardt <[email protected]>
Newsgroups gmane.comp.windows.devel.jawin
Message-ID <LISTSERV%[email protected]>
Dear Jawin-users ,

we are developing a Java application, which needs to communicate with a
special german windows-based tax software (Stotax) via COM. We are
evaluating Jawin for doing this job and wrote a little test programm (code
snippet follows). Via JTB we generated the stubs IFDXComInterface.java and
FDXComInterface.java.

***************************************
try {
 Ole32.CoInitialize();
 IFDXComInterface.init();
 IFDXComInterface sif = new IFDXComInterface
("SNGFDXICOM.FDXComInterface.1");
 console.append("\n" + sif.queryInterface(sif.getClass()));
 // this shows: "com.stotax.IFDXComInterface[0,184abbd0]"

 // GetProjectName is a function from the COM-interface
 Variant pn = sif.GetProjectName();
 Ole32.CoUninitialize();
} catch (Exception e) {
 e.printStackTrace();
}
***************************************

Executing this program results in the following error:

The VM crashes and gives the following message:

#######################################
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : unknown exception code (0xe06d7363) occurred at
PC=0x77E7F142
Function=RaiseException+0x51
Library=C:\WINNT\system32\KERNEL32.DLL

Current Java thread:
 at org.jawin.marshal.GenericStub.dispatchInvoke0(Native Method)
 at org.jawin.marshal.GenericStub.dispatchInvoke(GenericStub.java:84)
 at org.jawin.DispatchPtr.invokeN(DispatchPtr.java:473)
 at org.jawin.DispatchPtr.invokeN(DispatchPtr.java:433)
 at com.stotax.IFDXComInterface.GetProjectName
(IFDXComInterface.java:146)
 at com.bps.kontrast.KontrastGUI.callStotaxFunction
(KontrastGUI.java:228)
 at com.bps.kontrast.KontrastGUI.actionPerformed
(KontrastGUI.java:175)
 at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
 at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed
(Unknown Source)
 at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown
Source)
 at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown
Source)
 at java.awt.Component.processMouseEvent(Unknown Source)
 at java.awt.Component.processEvent(Unknown Source)
 at java.awt.Container.processEvent(Unknown Source)
 at java.awt.Component.dispatchEventImpl(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Window.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.EventQueue.dispatchEvent(Unknown Source)
 at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown
Source)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.run(Unknown Source)

Dynamic libraries:
0x00400000 - 0x0040B000  C:\Programme\Java\j2re1.4.2_05\bin\javaw.exe
0x77880000 - 0x77901000  C:\WINNT\System32\ntdll.dll
0x77DA0000 - 0x77DFB000  C:\WINNT\system32\ADVAPI32.dll
0x77E70000 - 0x77F32000  C:\WINNT\system32\KERNEL32.DLL
0x77D30000 - 0x77DA0000  C:\WINNT\system32\RPCRT4.DLL
0x77E00000 - 0x77E64000  C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F7C000  C:\WINNT\system32\GDI32.DLL
0x78000000 - 0x78046000  C:\WINNT\system32\MSVCRT.dll
0x08000000 - 0x08139000  C:\Programme\Java\j2re1.4.2_05
\bin\client\jvm.dll
0x77540000 - 0x77571000  C:\WINNT\System32\WINMM.dll
0x10000000 - 0x10007000  C:\Programme\Java\j2re1.4.2_05\bin\hpi.dll
0x007E0000 - 0x007EE000  C:\Programme\Java\j2re1.4.2_05
\bin\verify.dll
0x007F0000 - 0x00809000  C:\Programme\Java\j2re1.4.2_05\bin\java.dll
0x00810000 - 0x0081D000  C:\Programme\Java\j2re1.4.2_05\bin\zip.dll
0x18270000 - 0x18382000  C:\Programme\Java\j2re1.4.2_05\bin\awt.dll
0x777F0000 - 0x7780D000  C:\WINNT\System32\WINSPOOL.DRV
0x75DF0000 - 0x75E0A000  C:\WINNT\System32\IMM32.dll
0x77A40000 - 0x77B36000  C:\WINNT\system32\ole32.dll
0x18590000 - 0x185E1000  C:\Programme\Java\j2re1.4.2_05
\bin\fontmanager.dll
0x72770000 - 0x727B6000  C:\WINNT\System32\ddraw.dll
0x72810000 - 0x72816000  C:\WINNT\System32\DCIMAN32.dll
0x72C60000 - 0x72CF4000  C:\WINNT\System32\D3DIM700.DLL
0x6E330000 - 0x6E336000  C:\WINNT\System32\INDICDLL.dll
0x77280000 - 0x772EC000  C:\WINNT\System32\RICHED20.DLL
0x1A700000 - 0x1A72F000  D:\eclipse\workspace\Kontrast\jawin.dll
0x779A0000 - 0x77A3B000  C:\WINNT\system32\OLEAUT32.dll
0x784A0000 - 0x78525000  C:\WINNT\System32\CLBCATQ.DLL
0x1ACE0000 - 0x1ACED000  S:\STOTAX\SNG\sngfdxicom.dll
0x6C230000 - 0x6C322000  C:\WINNT\System32\MFC42.DLL
0x773B0000 - 0x773C2000  C:\WINNT\System32\ATL.DLL
0x1ACF0000 - 0x1AD6E000  S:\STOTAX\SNG\SNGSfValue.dll
0x1AD70000 - 0x1AD7A000  S:\STOTAX\SNG\SNGSfObject.dll
0x1AD80000 - 0x1AD90000  S:\STOTAX\SNG\SNGExc.dll
0x1AD90000 - 0x1ADA3000  S:\STOTAX\SNG\SNGSFLog.dll
0x780C0000 - 0x78121000  C:\WINNT\System32\MSVCP60.dll
0x1ADB0000 - 0x1ADB6000  S:\STOTAX\SNG\SNGFDXI.dll
0x1ADC0000 - 0x1ADCA000  S:\STOTAX\SNG\SNGFDXC.dll
0x1ADD0000 - 0x1AE83000  S:\STOTAX\SNG\SNGSFC.dll
0x1AE90000 - 0x1AEA0000  S:\STOTAX\SNG\SNGUtil.dll
0x1AEA0000 - 0x1AEB3000  S:\STOTAX\SNG\SNGCryptoBase.dll
0x1AEC0000 - 0x1AECA000  S:\STOTAX\SNG\SNGSys.dll
0x67670000 - 0x676D8000  C:\WINNT\System32\XceedZip.dll
0x77580000 - 0x777C8000  C:\WINNT\system32\SHELL32.dll
0x70BD0000 - 0x70C1C000  C:\WINNT\system32\SHLWAPI.DLL
0x71700000 - 0x7178A000  C:\WINNT\system32\COMCTL32.DLL
0x77810000 - 0x77817000  C:\WINNT\system32\VERSION.dll
0x75940000 - 0x75946000  C:\WINNT\system32\LZ32.DLL
0x1AED0000 - 0x1AEE6000  S:\STOTAX\SNG\SNGFDXP.dll
0x1AEF0000 - 0x1AF09000  S:\STOTAX\SNG\SNGFDXB.dll
0x1AF10000 - 0x1AF16000  S:\STOTAX\SNG\SNGFDXD.dll
0x1AF20000 - 0x1AF67000  S:\STOTAX\SNG\SNGSFD.dll
0x1AF70000 - 0x1AFA6000  S:\STOTAX\SNG\SNGMFCSPS.dll
0x1AFB0000 - 0x1AFC0000  S:\STOTAX\SNG\SNGUTBtrv.dll
0x1AFC0000 - 0x1AFE0000  C:\WINNT\System32\SfWTool.dll
0x780A0000 - 0x780B2000  C:\WINNT\System32\MSVCIRT.dll
0x1AFE0000 - 0x1AFED000  S:\Stotax\SfWDb.dll
0x1AFF0000 - 0x1AFFF000  C:\WINNT\System32\SfwDbUt.dll
0x1B000000 - 0x1B02C000  S:\Stotax\sfwsys.dll
0x1B030000 - 0x1B037000  S:\STOTAX\SNG\SNGFDXBM.dll
0x1B040000 - 0x1B144000  S:\STOTAX\SNG\SNGSFB.dll
0x1B150000 - 0x1B16C000  S:\STOTAX\SNG\SNGSfCRListe.dll
0x1B170000 - 0x1B178000  S:\STOTAX\SNG\SNGFDXPM.dll
0x1B180000 - 0x1B36C000  S:\STOTAX\SNG\SNGSFP.dll
0x1B370000 - 0x1B379000  S:\STOTAX\SNG\SNGExcClient.dll
0x1B380000 - 0x1B42A000  S:\STOTAX\SNG\SNGCTRLD.dll
0x1B430000 - 0x1B6C3000  S:\STOTAX\SNG\UT.dll
0x1B6D0000 - 0x1B744000  C:\WINNT\system32\urlmon.dll
0x75000000 - 0x75010000  C:\WINNT\system32\MPR.dll
0x1B750000 - 0x1B89C000  S:\STOTAX\SNG\SNGOFA.dll
0x77910000 - 0x77933000  C:\WINNT\system32\IMAGEHLP.dll
0x1B8A0000 - 0x1B8FB000  S:\STOTAX\SNG\SNGProgress.dll
0x6C1D0000 - 0x6C1DE000  C:\WINNT\System32\MFC42LOC.DLL
0x72970000 - 0x7299D000  C:\WINNT\system32\DBGHELP.dll
0x68F30000 - 0x68F3B000  C:\WINNT\System32\PSAPI.DLL

Heap at VM Abort:
Heap
 def new generation   total 576K, used 261K [0x10010000, 0x100b0000,
0x104f0000)
  eden space 512K,  38% used [0x10010000, 0x100416c8, 0x10090000)
  from space 64K, 100% used [0x10090000, 0x100a0000, 0x100a0000)
  to   space 64K,   0% used [0x100a0000, 0x100a0000, 0x100b0000)
 tenured generation   total 1408K, used 265K [0x104f0000, 0x10650000,
0x14010000)
   the space 1408K,  18% used [0x104f0000, 0x105324a0, 0x10532600,
0x10650000)
 compacting perm gen  total 4096K, used 3755K [0x14010000, 0x14410000,
0x18010000)
   the space 4096K,  91% used [0x14010000, 0x143bafe0, 0x143bb000,
0x14410000)

Local Time = Wed Oct 20 10:18:19 2004
Elapsed Time = 8
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_05-b04 mixed mode)
#
# An error report file has been saved as hs_err_pid272.log.
# Please refer to the file for further information.
#
#######################################

What does this error message indicate in detail?
What can we do to make Jawin work with our COM interface? It would be
helpful, if somebody could supply an example how COM objects besides the
typical Microsoft ones are used. Is the above stated code correct? Eclipse
does not give any errors or warnings when compiling.

Thanks in advance for helping!

Marek Luthardt
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.