Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Fehler bei Swing-Gui

(1/2) > >>

botschi:
Hallo,

ich habe folgendes Problem bei der Verwendung von notes.jar mit einer Java-Anwendung:
Wenn ich aus einer Konsolenanwendung heraus eine Session öffne funktioniert alles wunderbar.
Sobald es sich aber um eine Anwendung mit Swing-Gui handelt bekomme ich beim Öffnen der Session sofort einen Fehler.

Ich vermute das es vielleicht etwas mit den Threads zu tun hat in denen die Anwendung läuft.

Anbei die Fehlermeldung:

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x60007652, pid=1728, tid=232
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_03-b07 mixed mode)
# Problematic frame:
# C  [nnotes.dll+0x7652]
#

Stack: [0x0fe50000,0x0fe90000),  sp=0x0fe8e430,  free space=249k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [nnotes.dll+0x7652]
C  [nnotes.dll+0x188a43]
C  [nnotes.dll+0x188b6d]
C  [NLSCCSTR.DLL+0xf7b6]
C  [NLSCCSTR.DLL+0xf054]
C  [NLSCCSTR.DLL+0xf4b6]
C  [nlsxbe.dll+0x21d89]
C  [nlsxbe.dll+0x7d7d5]
C  [nlsxbe.dll+0x7f3ce]
C  [nlsxbe.dll+0x803d8]
C  [nlsxbe.dll+0x44bb0]
j  lotus.domino.local.Session.NgetDatabase(Ljava/lang/String;Ljava/lang/String;Z)I+0
j  lotus.domino.local.Session.getDatabase(Ljava/lang/String;Ljava/lang/String;)Llotus/domino/Database;+13

Matthias

flaite:
Das kann eigentlich nichts mit Swing oder Konsolen-Anwendung zu tun haben.
Startest du die Swing Anwendung von dem gleichen Rechner? 
Sieht so aus als ob da in der PATH Variable des Betriebssystems die falsche Notes Version vorne steht.
Wie sieht die PATH Variable in der Umgebung aus, in der du die Swing Anwendung startest?

Gruß Axel

botschi:
Funktioniert jetzt.
Die Klasse, die die Funktion ausführt, erbt von der Klasse "Notesthread" und damit gehts jetzt.

Danke für die Hilfe!

Matthias

Ralf_M_Petter:
Der Fehler liegt wahrscheinlich daran, dass du Swing Threading nicht verstanden hast.

Ohne Code ist es natürlich nur Kaffeesudleserei, aber ich denke, dass du zwar deinen Anwendungsthread für Notes initialisiert hast, nicht jedoch den Eventthread von Swing. Dies ist nicht ganz einfach, man sollte das aber unbedingt verstehen. Ebenso wie man Recycle verstehen sollte, da sonst die Programmierung von Notes Swing voll in die Hose geht.

Ausserdem sollte man meiner Meinung nach in der Notesprogrammierung Swing nicht mehr verwenden, da Notes selber in Richtung SWT geht. Wobei aber in SWT die selben Probleme mit dem Threading zu meisten sind wie in Swing.

Wenn du einen Beispielcode postest, sage ich dir wie du es machen musst.


Grüße

Ralf M Petter

botschi:
Hallo,

erstmal danke für die Antwort. Kannst Du mir mal ein Beispiel für die Threadinitialisierung unter Swing posten.

Ich benutze nur den Aufruf:

--- Code: ---NotesThread.sinitThread();
--- Ende Code ---

Muss ich noch etwas anderes machen ??


Matthias

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln