Anzeige:
Ergebnis 1 bis 5 von 5

Thema: $VARIABELEN säubern

  1. #1
    Registrierter Benutzer
    Registriert seit
    04.07.2006
    Ort
    Herne
    Beiträge
    71

    $VARIABELEN säubern

    ich hab seit einiger zeit jetzt mit dem neuen gui (GTK2 + perl) script probleme
    Code:
    ERROR: Stack overflow
    n kumpel meint nu das es daran liegen kann das ich in dem einen script sau viele variabelen benutzte (über ~40)

    nu meine frage
    gibt es ne möglichkeit / einen perl befehl der alle im script verwendetet variabelen vollständig löscht ?

  2. #2
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    Der Fehler rührt wohl eher von falsch angewandten GUI-Funktionen her, möglicherweise Rekursionen von GUI-Elementen.

    Perl kann solange Variablen handlen, wie Speicher und Virtueller Speicher vorhanden sind (die landen ausserdem auch nicht auf dem Stack).

  3. #3
    Registrierter Benutzer
    Registriert seit
    04.07.2006
    Ort
    Herne
    Beiträge
    71
    hmm kannste das viell ein bissel genauer erklähren ?
    bin noch blutiger anfänger in perl geschichten

    aber so in etwa sieht meine gui aus (iss natührlich nur ein auszug)
    Code:
    #!/usr/bin/perl
    
    use strict;
    use Gtk2 '-init';
    
    my $window = Gtk2::Window->new;
    $window->set_title ("[Chako]Scripts Einstellungen");
    $window->set_position("GTK_WIN_POS_MOUSE");
    $window->signal_connect (destroy=>\&my_quit);
    
    my $notebook1 = Gtk2::Notebook->new;
    $window->add($notebook1);
    $notebook1->show;
    
    my $fixed1 = Gtk2::Fixed->new;
    $notebook1->add($fixed1,);
    $notebook1->set_tab_label_text($fixed1, "Hauptmenü");
    $fixed1->show;
    
    my $Abbrechen1 = Gtk2::Widget->new("Gtk2::Button",
    			       label=>"Abbrechen");
    $Abbrechen1->signal_connect(clicked=>\&my_quit);
    $fixed1->put($Abbrechen1, 392, 272);
    $Abbrechen1->set_size_request(72, 24);
    $Abbrechen1->show;
    
    my $label1 = Gtk2::Label->new("ACHTUNG !!!\n\nDas Einstellungsmenu und der UPDATER\nsind noch nicht voll einsatzbereit !!!\n\nDas was schon da ist können sie selbstverständlich \nauch nutzten :-)");
    $fixed1->put($label1, 56, 40);
    $label1->set_size_request(360, 104);
    $label1->set_justify("GTK_JUSTIFY_CENTER");
    $label1->show;
    
    $window->show_all();
    
    Gtk2->main;
    
    sub my_quit {
        $window->destroy();
        print("Abgebrochen");
        return 1 ;
    }
    ich weiss die art und weise wie ich das fenster schliesse ist nicht ganz wie normal
    die änderung war nötig weil sonst das progg in dem ich das script laden muss beim schliessen immer mit abgeschmiert war

    vielleicht gibbet da ja acuh noch ne elegantere lösung ?
    Geändert von Chakotay (11-08-2006 um 21:18 Uhr)

  4. #4
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    Die elegantere Lösung ist vielleicht ein fork vor dem Aufbau der GUI.

    Btw: Bei mir geht das Skript soweit fehlerfrei, nur beim Beenden der GUI läuft das Programm halt noch weiter bis man mit STRG-C nachhilft.

    Keine Stack-Fehlermeldung oder ähnliches.

  5. #5
    Registrierter Benutzer
    Registriert seit
    04.07.2006
    Ort
    Herne
    Beiträge
    71
    die fehler meldung kommt ja auch nicht inner konsole
    sonder in xchat
    wenn ich das volle script in xchat lade und ca 30-60 min aktiv nutze fängt das erst an

    das der fehler erst so zeitverzögert auftritt ist ja der grund warum ich es nicht versteh :-)
    ich mein das oben war wie erwähnt ja nur ein auszug da das volle zu lang ist um es hier zu posten ^^

    http://phpfi.com/139765
    Geändert von Chakotay (12-08-2006 um 00:47 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •