WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 18.02.2002, 11:39   #1
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard Java - Phänomene

hi, ich bin gestern auf ein paar phänomene bei java draufgekommen:

mein programm besteht aus 3 klassen, eine (A) stellt im prinzip das GUI zur verfügung, die zweite (B) verwaltet über eine arraylist die objekte der dritten klasse (C).

mein programm funkt super, bis ich auf speichern gehe.
dann nehm ich einfach mein objekt der klasse B und speichere es über einen ObjectOutputStream in eine datei.
auch nachher geht das programm noch, bis ich es beende.

wenn ich nun neu starte und von der datei lade, ist das ursprüngliche objekt wieder vorhanden, dh mit den gespeicherten C-Objekten in der array-list.

allerdings treten nun solche aktionen auf:

in klasse A:

public void actionPerformed (Action Event e) {

// der code vorher

idxElems = 0;
database.search (searchItems);

in klasse B (database ist vom typ B):

public void search (String [] searchItems) {
System.out.println (parent.idxElems);
//rest der funktion
parent.addToList(foundElements);
}

idxElems hab ich zum überprüfen, nachdem ich auf das problem draufgekommen bin public gemacht, es wird hier 2,3... ausgegeben, je nachdem, wieviel objekte auf die suche passen. idxElems wird nicht zurückgesetzt, sondern erhöht sich jedesmal beim ausführen.


weiters hab ich das problem, dass ich eine awt.list habe, die laut debugger (über .getItems() anzeigen lassen) die richtigen einträge hat. die funktion addToList hängt mir diese an die liste dran.
sobald ich allerdings aus der funktion ins hauptprogramm zurückgehe (sprich über return in search), ist die liste auf null.
die liste ist bestandteil der klasse A.

es treten noch einige ähnliche fehler auf, die ich mir ebenfalls nicht erklären kann

wie gesagt, alles funktioniert super bis ich von einer datei lade. dann macht er diese faxen. ich hab also den verdacht, dass hier etwas nicht stimmt, allerdings ist das ganze trotzdem seltsam, da, wenn ich mir im debugger das geladene objekt ansehe, stimmt alles.

ich benutze jbuilder 5, jdk1.3
Who-T ist offline   Mit Zitat antworten
Alt 18.02.2002, 12:31   #2
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard Re: Java - Phänomene

Zitat:
Original geschrieben von Who-T
weiters hab ich das problem, dass ich eine awt.list habe, die laut debugger (über .getItems() anzeigen lassen) die richtigen einträge hat. die funktion addToList hängt mir diese an die liste dran.
sobald ich allerdings aus der funktion ins hauptprogramm zurückgehe (sprich über return in search), ist die liste auf null.
die liste ist bestandteil der klasse A.
Offensichtlich wurden die Elemente vom Garbage-Collector wieder freigegeben. Doch da müßte ich mehr Code sehen, um etwas schreiben zu können.
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 18.02.2002, 14:21   #3
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

naja, allerdings funkt das ganze ganz normal, erst wenn ich lade, dann treten diese phänomene auf

sollt also nicht am garbage-collector liegen.
Who-T ist offline   Mit Zitat antworten
Alt 18.02.2002, 14:58   #4
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

ok, ich hab das problem gefunden.

ich hab in klasse B das frame der GUI-Klasse als parent gespeichert.
beim laden hab ich dieses objekt allerdings nicht auf das neue GUI-Objekt aktualisiert, drum sind diese probleme aufgetreten.
Who-T ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:12 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag