Schrift
[thread]10171[/thread]

toplevel fenster neu starten



<< >> 4 Einträge, 1 Seite
Mikmak
 2007-08-22 14:43
#98512 #98512
User since
2004-08-15
19 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe ein MainWindow, aus dem über Radiobuttons ein anderes Programm gestartet werden kann. Diese Programme sind in verschiedenen packages geschrieben worden. In diesen packages wird das Toplevel Fenster aufgebaut. Mit dem Button abbrechen kommt man in das Hauptfenster wieder zurück.
Falls man nun diesen Button anklickt, wird das Toplevel fenster mit destroy zerstört.

Nachdem man die Ausführungen in diesem Toplevel fenster gemacht hat und nun Abbrechen drückt, und im Hauptfenster wieder dieses Programm ausführt, sind in dem Toplevel Fenster alle Angaben wie in der letzten Ausführung eingeben, iobwohl alle Felder leer sein sollten.

Es ist schon ein eigenständiges Package, warum wird dieses package nicht neu geladen und besitzt die alten Angaben.

Der Aufruf des packages erfolgt folgendermassen:

use tools::attribute_aendern; # Das package mit dem Tool
my $attr = tools::attribute_aendern->new ($C{mw}); #MainWindow wird verschickt
$attr->tk_fenster();# Das Programm indem das neue toplevel aufgebaut wird


Ich verstehe es einfach nicht. mit $toplevel->destroy() wird das Fenster zerstört. zugleich müßte es doch aus der mainClass entfernt worden sein. Weshalb gibt es diesen Wert noch
renee
 2007-08-22 16:10
#98515 #98515
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Benutzt Du vielleicht globale Variablen?

Zeig mal etwas mehr Code...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Mikmak
 2007-08-22 17:27
#98522 #98522
User since
2004-08-15
19 Artikel
BenutzerIn
[default_avatar]
Ich glaub ich habe meinen Fehler gefunden, indem ich einmal das Package aufrufe und ausführe, fülle ich seine eigenen globalen Variablen auf. Somit sind diese Variablen beim nächsten Aufruf des packages bereits belegt. Ich muss einfach diese Glabalen Variablen in meiner Funktion anfangs leeren.

Zumindest war mein Testversuch hierzu erfolgreich.
styx-cc
 2007-08-24 23:29
#98632 #98632
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Mikmak+2007-08-22 15:27:29--
Ich glaub ich habe meinen Fehler gefunden, indem ich einmal das Package aufrufe und ausführe, fülle ich seine eigenen globalen Variablen auf. Somit sind diese Variablen beim nächsten Aufruf des packages bereits belegt. Ich muss einfach diese Glabalen Variablen in meiner Funktion anfangs leeren.

Zumindest war mein Testversuch hierzu erfolgreich.


Du solltest besser die globalen Variablen abschaffen und den moeglichst kleinsten Scope (Gültigkeitsbereich) fuer die Variablen benutzen, dass kann dir ne menge Aerger ersparen...

MfG
Pörl.
<< >> 4 Einträge, 1 Seite



View all threads created 2007-08-22 14:43.