Autor Thema: Local variables unavailable  (Gelesen 7733 mal)

Offline chriss76

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Ich liebe dieses Forum!
Local variables unavailable
« am: 30.09.05 - 11:25:26 »
Hallo Leutz,

wollte mich langsam mal an Notes und Java heran tasten und habe eines von Euren
Codingbeispielen aus diesem Forum mit Ecplise erstellt.
Leider kriege ich mit Ecplise Debugger immer die Fehlermeldung:
"local variables unavailable" .

Welchen Variablen fehlen mir denn??

Grüsse Chris


Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Local variables unavailable
« Antwort #1 am: 30.09.05 - 12:30:26 »
Den Code solltest Du dann schon anfügen...
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline chriss76

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Ich liebe dieses Forum!
Re: Local variables unavailable
« Antwort #2 am: 30.09.05 - 13:06:34 »
Hallo,


/*
* testprogramm.java
*
* Created on 31. Januar 2003, 10:05
*/
package test;
import lotus.domino.*; //Anweisung um den Java Compiler mitzuteilen, wo er die Notesklassen findet.
/**
*
* @author petter_r
*/
public class TEST1 {

/** Creates a new instance of testprogramm In unserem Beispiel brauchen wir keine Instance */
public TEST1() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
NotesThread.sinitThread(); //Beim lokalen Zugriff nicht DIIOP muss der Thread erst für Domino initialisiert werden.
Session ses=null; //Sessionvariable definieren.
try { //Da Notes Klassen Exceptions werfen können sollte man diese auch abfangen.
ses = NotesFactory.createSession(); //Erzeugen eines Sessionobjekts
Database db=ses.getDatabase("Server","mail/meinemail.nsf"); // Öffnen einer Datenbank bitte das anpassen an euer Umfeld z. B. Maildatenbank.
System.out.println("Datenbank hat folgenden Dateiname:"+db.getFileName());
System.out.println("Datenbank wurde zuletzt volltextindiziert am "+db.getLastFTIndexed().toString());

}
catch (Exception e){
System.out.println("Es ist ein Fehler aufgetreten");
e.printStackTrace();
}
finally{
try{
ses.recycle(); // Ganz wichtig, wenn dieser Befehl nicht ausgeführt wird, wird der Speicher den die Notesklassen im Hintergrund verwendet haben nicht mehr freigeben.
}
catch (NotesException e){}
NotesThread.stermThread(); //Domino Umgebung beenden. Ebenfalls ganz wichtig wenn man das nicht macht kann das zu Abstürzen von Notes führen.
}
}

}

Wahrscheinlich fehlen die Systemvariablen in meinem Windows, oder???

Fehlermeldung:
NotesThread.sinitThread()line: 171 [local variables unavailable]

Eine Idee??

Grüsse Chris







Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: Local variables unavailable
« Antwort #3 am: 30.09.05 - 16:01:25 »
das [local variables unavailable] bedeutet, dass dir für die Klassen, die du nutzt keine Debug Info zur Verfügung steht. Es beschreibt nicht den Fehler, den du machst.

Poste bitte die vollständige Fehlermeldung, nicht nur eine Zeile davon.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Local variables unavailable
« Antwort #4 am: 01.10.05 - 23:14:36 »
bin mir nicht 100% sicher, aber zu 95%, dass NotesThread.sinitThread() nur für lokale Zugriffe verwendet werden kann.
Willst du nicht damit erst mal arbeiten? Mit lokalen Zugriffen.
Es funktioniert auch, wenn der Server wo anders installiert hast, aber auf dem Rechner auf dem das JavaProgramm läuft ein Notes Client installiert ist, der sich mit dem entsprechenden Server auf dem der Agent verbinden kann.

Ansonsten musst du mit diesem Runnable Zeugs arbeiten.

Code
import lotus.domino.*;
import java.lang.*;

public class agentdebugger implements Runnable
{
public static void main(String argv[])
{
try{
   
agentdebugger ad = new agentdebugger();
NotesThread t =new NotesThread((Runnable)ad);
t.start();
}
catch (Exception e)
{
   e.printStackTrace();
}}
public void run()
{
try
{
Session s = NotesFactory.createSession();
String p = s.getPlatform();
System.out.println("Platform = " + p);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

Wobei das nix ist, das ein Java-Anfänger normalerweise in den 6 Monaten nachvollzieht.

Das ist Multithreading.
Die run Methode läuft in einem anderen Thread als das Hauptprogramm.
run() wird ja nirgendwo direkt aufgerufen.
Vereinfacht gesprochen geht der code innerhalb von run() durch das t.start() in einen to-be-run-Status und wird irgendwann ausgeführt.
Wichtig ist das implements Runnable in der Klassendeklaration.
 



Axel
« Letzte Änderung: 02.10.05 - 07:22:11 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Local variables unavailable
« Antwort #5 am: 03.10.05 - 11:04:33 »
Hallo!

Das was Axel sagt, ist nicht 100% korrekt. Du musst NotesThread.sinitThread() nehmen wenn du lokalen Zugriff willst. Das heisst, auf der Maschine auf der du dein Java Programm laufen lässt läuft ist entweder ein Client oder ein Server installiert. Wenn du remote Zugriff verwenden willst ist ein initialisieren des NotesThread nicht notwendig. In dem Fall ist dann auch keine Erweiterung von NotesThread nötig, oder der Runnable Schmarren notwendig.

Eventuell wäre es mal günstig wenn du die Frage von Thomas nach der genauen Fehlermeldung beantworten würdest. Eventuell wichtig wäre auch noch wenn du den Klassenpfad posten könntest.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Local variables unavailable
« Antwort #6 am: 03.10.05 - 13:31:34 »
Vielleicht ruft bei Corba Zugriff der Aufruf der Methode automatisch diese Exception?
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Local variables unavailable
« Antwort #7 am: 03.10.05 - 13:34:00 »
Glaube ich persönlich nicht, aber ohne Antworten von Chris ist das sowieso Kaffeesudleserei. Ich hasse sowas. Einen Thread anfangen und dann nicht mehr weitermachen >:(

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Local variables unavailable
« Antwort #8 am: 03.10.05 - 13:48:59 »
War Wochenende und heute hat Deutschland frei wg. Tag der deutschen Einheit
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Local variables unavailable
« Antwort #9 am: 03.10.05 - 13:51:49 »
Arbeitest du nicht auch in Deutschland und du bist trotzdem hier. Wenn ich Thread eröffne ist normalerweise nicht zu viel verlangt, auch mal zum Wochenende kurz reinzuschauen. Wenn ich nur antworte mache ich das auch nicht, aber bei Threaderöffnung finde ich das schon angebracht.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline chriss76

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Ich liebe dieses Forum!
Re: Local variables unavailable
« Antwort #10 am: 04.10.05 - 09:00:37 »
Guten Morgen,

hier bin ich wieder, machte aber keinen Sinn zu antworten, weil ich dazu meinen Arbeitsrechner brauche und den lege ich am freien Tag meistens ganz weit weg.

1. Vielen Dank für Euer Engagement, allerdings überfordert Ihr mich als
Unwissenden ein wenig.

2. Ich wollte einfach mal ausprobieren, ob ich mit einer kleinen Java-Applikation auf Notes zugreifen kann. Das war meine Idee.
Meine Notesclient Version ist 5.0.8, auf dem Server läuft 6.xx

3. Ich habe mir einfach mal das Coding hier aus dem Forum geholt und als Projekt in Eclipse eingestellt und wollte sehen, ob es lokal bei mir läuft und auf mein Mailfile, dass auf dem Notesserver liegt, zu greifen kann.

Mit folgender Fehlermeldung könnte ich noch dienen:

Source not found
The jar file Notes.jar has no source attachment.
You can attach the source by clicking Attach Source below.

Was auch immer ich dort anhängen soll?

Vielleicht ist es für den Anfang zu schwierig, habt Ihr ein vielleicht einfach zu realisierendes
Java-Programm, dass auf den NotesServer zugreift als Anschauungsobjekt?

Grüsse Chris

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Local variables unavailable
« Antwort #11 am: 04.10.05 - 09:11:53 »
Dein Problem hat offensichtlich nichts mit Notes zu tun sondern mit der Bedienung des Debuggers von Eclipse. Du versucht offensichtlich die Notes.jar zu debuggen. Diese enthält die Codeteile die für den Zugriff auf die Domino Backend Objekte.

Lass mal das Programm ohne Debugger laufen. Es sollte dir den Dateinamen der Datenbank und das Volltextindexdatum ausgeben. Beim Debuggen musst du aufpassen, dass du beim Schrittweisen vorwärts gehen im Normalfall nicht Step into sondern sondern step over verwendest. Mit step into gehst du nämlich in den Source des Methodenaufrufs und wenn das eine Methode ist, für die du den Source nicht hast, dann kommt die von dir beschriebene Meldung.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline chriss76

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Ich liebe dieses Forum!
Re: Local variables unavailable
« Antwort #12 am: 04.10.05 - 09:55:54 »
Hallo Ralf,

ich habe das Programm mal ohne Debugging laufen lassen, nur beim ersten Mal
wird das Passwort für meine Notes-ID abgefragt, bei jedem weiteren Aufruf kommt noch nicht mal
die Passwortabfrage. (erst wenn ich den Notes Client beende und wieder öffne, wird auch das Passwort im Programm wieder abgefragt)
Wenn ich das Passwort eintippt habe, passiert gar nichts mehr.
Keine Fehlermeldungen o.a.
Im Debugging mit Step over das gleiche: Es passiert nichts mehr.

Hast Du noch eine andere Idee?

Grüsse Chris

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Local variables unavailable
« Antwort #13 am: 04.10.05 - 10:03:26 »
Hallo!

Nun das hört sich an, wie wenn das Programm funktionieren würde. Eventuell hast du in Eclipse nur das Fenster nicht offen, das die Consolenausgabe anzeigt. Wenn du mit Stepover drübergehst, kommt er zu den Anweisungen:
System.out.println("Datenbank hat folgenden Dateiname:"+db.getFileName());
System.out.println("Datenbank wurde zuletzt volltextindiziert am "+db.getLastFTIndexed().toString());

Wenn ja dann ist zu 99% alles palleti und du brauchst es nur noch zu schaffen, das Eclipse auch die Ausgabe anzeigt. Die Anzeige müsste eigentlich Konsole heissen.

Grüße

Ralf

P.S. Das die Passwortabfrage nur einmal kommt ist meines Wissens ganz normal.
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Local variables unavailable
« Antwort #14 am: 04.10.05 - 11:15:39 »
Das Console-Fenster siehe Screenshot.
Die has no source Attachment Meldung hat etwas damit zu tun, dass du versuchst mit dem Debugger ein "Step into" in eine Notes Methode zu machen. Dafür braucht der Debugger natürlich den Source Code der entsprechenden Klasse. Den hast du natürlich nicht, weil Lotus die Sourcen nicht rausrückt. Benutze dafür "step over". Oder setze Breackpoints und benutze den grünen Pfeil. Nach dieser Meldung terminiert der Debug-Prozess nicht. Das steht sicherlich auch in der Hilfe von Eclipse. Ein bischen lesen muß aus meiner Sicht in diesem Job schon sein.

Menschen sind intelligente Säugetiere und brauchen sich nicht bei den kleinsten Schwierigkeiten immer direkt zu fragen, ob das was sie gerade machen "zu schwierig" ist. Das ist ja auch ein dynamischer Prozess. Sobald man aufhört Probleme ständig als "zu schwierig" zu deklarieren, beginnt man irgendwann Strategien, um die Dinge selbst in den Griff zu kriegen.
Es gibt 2 Möglichkeiten:
1. entweder du entwickelst die Fähigkeit komplexere Probleme zu lösen
2. oder man überträgt einer anderen autoritären Instanz die Entscheidungskompetenz darüber, was für einen zu schwierig ist
 
Axel

« Letzte Änderung: 04.10.05 - 11:40:44 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline chriss76

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Ich liebe dieses Forum!
Re: Local variables unavailable
« Antwort #15 am: 04.10.05 - 12:15:34 »
Hallo Ralf, hallo Peter,

1. Das mit Step into funktioniert ja jetzt ;-)

2. Ich konnte ein bisschen weiter untersuchen:
Session ses=null; //Sessionvariable definieren.
try { //Da Notes Klassen Exceptions werfen können sollte man diese auch abfangen.
ses = NotesFactory.createSession(); //Erzeugen eines Sessionobjekts
Diese beiden Zeilen werden ausgeführt.
Die Variable ses wird mit session (id = 33) o.a. gefüllt, d.h. es sieht so aus, als würde es funktionieren, oder?

Dann springe ich mit Step over zu:
Database db=ses.getDatabase("Server","mail/meinemail.nsf"); // Öffnen einer Datenbank bitte das anpassen an euer Umfeld z. B. Maildatenbank.

Und dann passiert gar nichts mehr.
Anscheinend findet er unseren Notesserver nicht (nicht per Name, auch nicht per IP-Adresse).
Es kommt auch keine Fehlermeldung.
Ich komme also auch gar nicht bis zu den Konsolenausgaben:
System.out.println("Datenbank hat folgenden Dateiname:"+db.getFileName());
System.out.println("Datenbank wurde zuletzt volltextindiziert am

Grüsse Chris


Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Local variables unavailable
« Antwort #16 am: 04.10.05 - 12:25:32 »
Das was du beschreibst, kann so nicht sein.

Falls der Zugriff auf den Server fehlschlagen würde, wäre das Datenbank Objekt "null" und er würde trotzdem zur nächsten Anweisung kommen. Ich vermute mal du hast Probleme mit dem Zugriff auf deine ID. Eventuell fragt er im Hintergrund irgendwo dein Passwort für die ID ab. Probier mal unter der Benutzersicherheit die Einstellung. Andere Notes-bsierende Programme fragen kein Kennwort ab unter der Benutzersicherheit anzuhacken. Dann sollte wenn der Notes Client gestartet ist, kein Problem mehr auftreten.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline chriss76

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Ich liebe dieses Forum!
Re: Local variables unavailable
« Antwort #17 am: 04.10.05 - 13:19:49 »
Hallo Ralf,

Du hast bestimmt Recht, denn jetzt ist mir erst aufgefallen, dass bei der Abfrage der Passwort-ID der komplette Notes-Client einfriert und ich ihn hart beenden muss.
Wie schon gesagt, beim ersten Zugriff auf meine ID wird in der Console nach dem Passwort gefragt. Dieses tippe ich dann immer ein und bestätige entweder mit Enter oder Return und dann friert der Notes-Client ein.

Zitat
Probier mal unter der Benutzersicherheit die Einstellung. Andere Notes-bsierende Programme fragen kein Kennwort ab unter der Benutzersicherheit anzuhacken. Dann sollte wenn der Notes Client gestartet ist, kein Problem mehr auftreten.

Wo ist denn diese Einstellung im Notes-Client 5.0.8?

Grüsse Chris


Offline chriss76

  • Junior Mitglied
  • **
  • Beiträge: 99
  • Ich liebe dieses Forum!
Re: Local variables unavailable
« Antwort #18 am: 06.10.05 - 07:25:34 »
Weiss denn niemand weiter??

Grüsse Chris

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Local variables unavailable
« Antwort #19 am: 06.10.05 - 09:51:42 »
Zur Zeit: Keine Ahnung. Aber ich hab das auch länger nicht gemacht.
Eine Möglichkeit ist, dass es evtl. Probleme gibt, weil dein Eclipse Projekt Java 2 benutzt, Notes 5.08 aber Java 1.1. Du kannst in Eclipse einstellen, dass du Java1.1 benutzt. Poste dazu später.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz