Problema dll Delphi com jna

Olá amigos, estou tendo problemas com uma dll em java, em Delphi ela funciona beleza, mas, meus conhecimentos em Delphi são muitos limitados, por isso resolvi criar essa Dll e usar com java. Acredito que o problema seja com os tipos Variant e OleVariant, pois testei uma simples MessageBox e funcionou.

Código da Dll.


library MacroParaJava;


uses
  SysUtils,
  ComObj,
  windows,
  Variants,
  Classes;

   var
   Sess0,
   Sistema,
   Sessions: OleVariant;


//______________________________________________________________________________

                          // Conectar ao STC

 procedure conectarSTC;  stdcall;
    begin

  Sistema := CreateOleObject('EXTRA.System');
  Sessions:= Sistema.Sessions;
  Sess0   := Sistema.ActiveSession ;
  MessageBoxA(0,PAnsiChar('Criado Sessão!'),PAnsiChar('Aviso'),0);
    
    end;
//______________________________________________________________________________


       // Mover para uma posição na tela conforme argumentos informados
 procedure Mover(linha, coluna:Integer); stdcall;
    begin

  Sess0.Screen.MoveTo (linha, coluna);

    end;
//______________________________________________________________________________

                      // Tempo entre uma tela

 procedure aguardar; stdcall;
    begin

   while(Sess0.Screen.OIA.XStatus = 5) do
   begin
   end;
    end;

//______________________________________________________________________________

            // Enviar uma tecla conforme argumento informado

procedure enviarTecla(tecla:String); stdcall;
    begin
 Sess0.Screen.SendKeys(tecla);
    end;

//______________________________________________________________________________

                   // Copiar uma área da Tela

 function copiarAreaTela(linhaDe, colunaDe,linhaAte,colunaAte:Integer): String;  stdcall;
  begin

    Result:= Sess0.Screen.Area(linhaDe,colunaDe,linhaAte,colunaAte);
  end;


//______________________________________________________________________________

                   // Desconectar

 procedure desconectarSTC;  stdcall;
  begin
    Sess0    :=Unassigned;
    Sessions :=Unassigned;
    Sistema  :=Unassigned;
  end;



                    // Exportar Funções e Procedimentos
Exports
test,
conectarSTC,
Mover,
aguardar,
enviarTecla,
desconectarSTC,
copiarAreaTela;

begin
end.

Interface JNA com apenas um método para teste.


import com.sun.jna.Library;


public interface InterfaceJna extends Library{   
    
    
    public void conectarSTC();
  
}

Código da classe onde é chamado.


InterfaceJna ij = (InterfaceJna) Native.loadLibrary("MacroParaJava.dll", InterfaceJna.class);
   
    ij.conectarSTC();

Mensagem de erro gerado.


run:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (0xeedfade), pid=6620, tid=5228
#
# JRE version: 6.0_19-b04
# Java VM: Java HotSpot(TM) Client VM (16.2-b04 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [kernel32.dll+0x12fd3]
#
# An error report file with more information is saved as:
# C:\Documents and Settings\mmtelecom\Meus documentos\NetBeansProjects\ProducerOsc\hs_err_pid6620.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 15 segundos)

Chegou a ler

C:\Documents and Settings\mmtelecom\Meus documentos\NetBeansProjects\ProducerOsc\hs_err_pid6620.log  

Já, mas não entendi nada, rsrs. Se quiser posso postar aqui.

Toda e qualquer informação que possa nos ajudar a responde-lo nunca é demais.


#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (0xeedfade), pid=6620, tid=5228
#
# JRE version: 6.0_19-b04
# Java VM: Java HotSpot(TM) Client VM (16.2-b04 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [kernel32.dll+0x12fd3]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x02e49000):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=5228, stack(0x03180000,0x031d0000)]

siginfo: ExceptionCode=0xeedfade, ExceptionInformation=0x032931b1 0x032a0a68 0x800401f0 0x031cf2cc 0x031cf370 0x031cf2d0 0x031cf274 

Registers:
EAX=0x031cf1f0, EBX=0x800401f0, ECX=0x00000000, EDX=0x032931b1
ESP=0x031cf1ec, EBP=0x031cf240, ESI=0x031cf274, EDI=0x031cf370
EIP=0x7c812fd3, EFLAGS=0x00000202

Top of Stack: (sp=0x031cf1ec)
0x031cf1ec:   031cf2cc 0eedfade 00000001 00000000
0x031cf1fc:   7c812fd3 00000007 032931b1 032a0a68
0x031cf20c:   800401f0 031cf2cc 031cf370 031cf2d0
0x031cf21c:   031cf274 032930b9 800401f0 03283182
0x031cf22c:   032a0a68 032930eb 031cf2a0 03283149
0x031cf23c:   031cf264 031cf2d0 032931b1 0eedfade
0x031cf24c:   00000001 00000007 031cf258 032931b1
0x031cf25c:   032a0a68 800401f0 031cf2cc 031cf370 

Instructions: (pc=0x7c812fd3)
0x7c812fc3:   8d 7d c4 f3 a5 5f 8d 45 b0 50 ff 15 10 15 80 7c
0x7c812fd3:   5e c9 c2 10 00 85 ff 0f 8e 5e 8e ff ff 8b 55 fc 


Stack: [0x03180000,0x031d0000],  sp=0x031cf1ec,  free space=13c031ced4ck
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [kernel32.dll+0x12fd3]
C  [MacroParaJava.dll+0x131b1]
C  [jna1906589197772684940.dll+0xcb77]
C  [jna1906589197772684940.dll+0xc7c2]
C  [jna1906589197772684940.dll+0x4561]
C  [jna1906589197772684940.dll+0x4cae]
j  com.sun.jna.Function.invokeVoid(I[Ljava/lang/Object;)V+0
j  com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+45
j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+214
j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+341
j  $Proxy0.conectarSTC()V+9
j  FrameInicial.jButton1ActionPerformed(Ljava/awt/event/ActionEvent;)V+13
j  FrameInicial.access$000(LFrameInicial;Ljava/awt/event/ActionEvent;)V+2
j  FrameInicial$1.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
j  javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+84
j  javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
j  javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35
j  javax.swing.DefaultButtonModel.setPressed(Z)V+117
j  javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Ljava/awt/event/MouseEvent;)V+35
j  java.awt.Component.processMouseEvent(Ljava/awt/event/MouseEvent;)V+64
j  javax.swing.JComponent.processMouseEvent(Ljava/awt/event/MouseEvent;)V+23
j  java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V+81
j  java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V+18
j  java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+566
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42
j  java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j  java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V+320
j  java.awt.LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z+139
j  java.awt.LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z+50
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+12
j  java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V+19
j  java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46
j  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub
V  [jvm.dll+0xf049c]
V  [jvm.dll+0x17fcf1]
V  [jvm.dll+0xf0667]
V  [jvm.dll+0xf06dd]
V  [jvm.dll+0x11a2a0]
V  [jvm.dll+0x1ddb14]
V  [jvm.dll+0x17f96c]
C  [msvcr71.dll+0x9565]
C  [kernel32.dll+0xb729]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.jna.Function.invokeVoid(I[Ljava/lang/Object;)V+0
j  com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+45
j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+214
j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+341
j  $Proxy0.conectarSTC()V+9
j  FrameInicial.jButton1ActionPerformed(Ljava/awt/event/ActionEvent;)V+13
j  FrameInicial.access$000(LFrameInicial;Ljava/awt/event/ActionEvent;)V+2
j  FrameInicial$1.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
j  javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+84
j  javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
j  javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35
j  javax.swing.DefaultButtonModel.setPressed(Z)V+117
j  javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Ljava/awt/event/MouseEvent;)V+35
j  java.awt.Component.processMouseEvent(Ljava/awt/event/MouseEvent;)V+64
j  javax.swing.JComponent.processMouseEvent(Ljava/awt/event/MouseEvent;)V+23
j  java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V+81
j  java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V+18
j  java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+566
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42
j  java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j  java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V+320
j  java.awt.LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z+139
j  java.awt.LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z+50
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+12
j  java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V+19
j  java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46
j  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x002b6800 JavaThread "DestroyJavaVM" [_thread_blocked, id=4184, stack(0x008c0000,0x00910000)]
=>0x02e49000 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=5228, stack(0x03180000,0x031d0000)]
  0x02e48800 JavaThread "AWT-Shutdown" [_thread_blocked, id=7768, stack(0x030e0000,0x03130000)]
  0x02e44800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=6496, stack(0x03130000,0x03180000)]
  0x02e42400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=6540, stack(0x03090000,0x030e0000)]
  0x02ae7c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=7036, stack(0x02d60000,0x02db0000)]
  0x02ae1c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=7076, stack(0x02d10000,0x02d60000)]
  0x02ae0400 JavaThread "Attach Listener" daemon [_thread_blocked, id=2836, stack(0x02cc0000,0x02d10000)]
  0x02adf000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6180, stack(0x02c70000,0x02cc0000)]
  0x02aa0000 JavaThread "Finalizer" daemon [_thread_blocked, id=7152, stack(0x02c20000,0x02c70000)]
  0x02a9b400 JavaThread "Reference Handler" daemon [_thread_blocked, id=6424, stack(0x02bd0000,0x02c20000)]

Other Threads:
  0x02a99c00 VMThread [stack: 0x02b80000,0x02bd0000] [id=7896]
  0x02af2800 WatcherThread [stack: 0x02db0000,0x02e00000] [id=6388]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 3712K, used 798K [0x22990000, 0x22d90000, 0x24ee0000)
  eden space 3328K,  12% used [0x22990000, 0x229f7a90, 0x22cd0000)
  from space 384K, 100% used [0x22d30000, 0x22d90000, 0x22d90000)
  to   space 384K,   0% used [0x22cd0000, 0x22cd0000, 0x22d30000)
 tenured generation   total 4096K, used 1050K [0x24ee0000, 0x252e0000, 0x29990000)
   the space 4096K,  25% used [0x24ee0000, 0x24fe68d8, 0x24fe6a00, 0x252e0000)
 compacting perm gen  total 12288K, used 666K [0x29990000, 0x2a590000, 0x2d990000)
   the space 12288K,   5% used [0x29990000, 0x29a36988, 0x29a36a00, 0x2a590000)
    ro space 10240K,  54% used [0x2d990000, 0x2df0b760, 0x2df0b800, 0x2e390000)
    rw space 12288K,  55% used [0x2e390000, 0x2ea2f798, 0x2ea2f800, 0x2ef90000)

Dynamic libraries:
0x00400000 - 0x00424000 	C:\Program Files\Java\jdk1.6.0_19\bin\java.exe
0x7c900000 - 0x7c9b6000 	C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c900000 	C:\WINDOWS\system32\kernel32.dll
0x77f50000 - 0x77ffb000 	C:\WINDOWS\system32\ADVAPI32.dll
0x77db0000 - 0x77e43000 	C:\WINDOWS\system32\RPCRT4.dll
0x77f20000 - 0x77f31000 	C:\WINDOWS\system32\Secur32.dll
0x7c340000 - 0x7c396000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\msvcr71.dll
0x6d8b0000 - 0x6db47000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\client\jvm.dll
0x7e360000 - 0x7e3f1000 	C:\WINDOWS\system32\USER32.dll
0x77e50000 - 0x77e99000 	C:\WINDOWS\system32\GDI32.dll
0x76b20000 - 0x76b4e000 	C:\WINDOWS\system32\WINMM.dll
0x5d1d0000 - 0x5d1d7000 	C:\WINDOWS\system32\serwvdrv.dll
0x5b4f0000 - 0x5b4f7000 	C:\WINDOWS\system32\umdmxfrm.dll
0x6d860000 - 0x6d86c000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\verify.dll
0x6d3e0000 - 0x6d3ff000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\java.dll
0x6d340000 - 0x6d348000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\hpi.dll
0x76bd0000 - 0x76bdb000 	C:\WINDOWS\system32\PSAPI.DLL
0x6d8a0000 - 0x6d8af000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\zip.dll
0x6d0b0000 - 0x6d1fa000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\awt.dll
0x72fb0000 - 0x72fd6000 	C:\WINDOWS\system32\WINSPOOL.DRV
0x77bf0000 - 0x77c48000 	C:\WINDOWS\system32\msvcrt.dll
0x76360000 - 0x7637d000 	C:\WINDOWS\system32\IMM32.dll
0x774c0000 - 0x775fe000 	C:\WINDOWS\system32\ole32.dll
0x773b0000 - 0x774b3000 	C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\COMCTL32.dll
0x77ea0000 - 0x77f16000 	C:\WINDOWS\system32\SHLWAPI.dll
0x5b1c0000 - 0x5b1f8000 	C:\WINDOWS\system32\uxtheme.dll
0x7c9c0000 - 0x7d1de000 	C:\WINDOWS\system32\shell32.dll
0x6d2e0000 - 0x6d334000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\fontmanager.dll
0x6d6c0000 - 0x6d6d3000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\net.dll
0x71a70000 - 0x71a87000 	C:\WINDOWS\system32\WS2_32.dll
0x71a60000 - 0x71a68000 	C:\WINDOWS\system32\WS2HELP.dll
0x6d6e0000 - 0x6d6e9000 	C:\Program Files\Java\jdk1.6.0_19\jre\bin\nio.dll
0x68000000 - 0x68036000 	C:\WINDOWS\system32\rsaenh.dll
0x769a0000 - 0x76a55000 	C:\WINDOWS\system32\USERENV.dll
0x5bcb0000 - 0x5bd05000 	C:\WINDOWS\system32\netapi32.dll
0x75190000 - 0x751ae000 	C:\WINDOWS\system32\wshbth.dll
0x77900000 - 0x779f5000 	C:\WINDOWS\system32\SETUPAPI.dll
0x71a10000 - 0x71a50000 	C:\WINDOWS\System32\mswsock.dll
0x76f00000 - 0x76f27000 	C:\WINDOWS\system32\DNSAPI.dll
0x76d40000 - 0x76d59000 	C:\WINDOWS\system32\iphlpapi.dll
0x76f90000 - 0x76f98000 	C:\WINDOWS\System32\winrnr.dll
0x76f40000 - 0x76f6d000 	C:\WINDOWS\system32\WLDAP32.dll
0x76fa0000 - 0x76fa6000 	C:\WINDOWS\system32\rasadhlp.dll
0x10000000 - 0x10055000 	C:\Documents and Settings\mmtelecom\Configurações locais\Temp\jna1906589197772684940.dll
0x03280000 - 0x032a0000 	C:\Documents and Settings\mmtelecom\Meus documentos\NetBeansProjects\ProducerOsc\MacroParaJava.dll
0x77100000 - 0x7718b000 	C:\WINDOWS\system32\oleaut32.dll
0x76fb0000 - 0x7702f000 	C:\WINDOWS\system32\CLBCATQ.DLL
0x77030000 - 0x770fd000 	C:\WINDOWS\system32\COMRes.dll
0x77be0000 - 0x77be8000 	C:\WINDOWS\system32\VERSION.dll

VM Arguments:
jvm_args: -Dfile.encoding=UTF-8 
java_command: FrameInicial
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:\Perl\site\bin;C:\Perl\bin;C:\Arquivos de programas\Borland\Delphi7\Bin;C:\Arquivos de programas\Borland\Delphi7\Projects\Bpl\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\Arquivos de programas\PC Connectivity Solution\;C:\Program Files\Java\jdk1.6.0_19\bin;
USERNAME=mmtelecom
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 2, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows XP Build 2600 Service Pack 3

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

Memory: 4k page, physical 458220k(20256k free), swap 1439500k(811176k free)

vm_info: Java HotSpot(TM) Client VM (16.2-b04) for windows-x86 JRE (1.6.0_19-b04), built on Mar  9 2010 00:48:41 by "java_re" with MS VC++ 7.1 (VS2003)

time: Fri Jul 05 09:06:21 2013
elapsed time: 13 seconds