Self-Tcl FORUM :: Thema anzeigen - prozedur durch andere prozedur beenden
Self-Tcl FORUM - Das deutsche Tcl Tk Forum
Self-Tcl FORUM - Das deutschsprachige Tcl-Forum_
WWW.SELF-TCL.DE / FORUM

prozedur durch andere prozedur beenden

 
Neues Thema eröffnen   Neue Antwort erstellen    Self-Tcl FORUM Foren-Übersicht -> Tcl/Tk Entwickler/Programmierung-Forum
<< Vorheriges Thema anzeigen :: Nächstes Thema anzeigen >>  
Autor Nachricht
HackerNeo
Forum-User
Forum-User


Anmeldungsdatum: 02.09.2008
Beiträge: 28
Wohnort: Oldenburg

BeitragVerfasst am: 09.03.2010, 10:38:33    Titel: prozedur durch andere prozedur beenden Antworten mit Zitat

Hallöchen,

ich habe eine Oberfläche mit einem Start dun Stop-Button und möchte mit dem Start-Button eine Prozedur aufrufen, die dann einiges an Dateien kopiert. Hier zu meiner Frage. Wie kann ich dir Prozedur direkt unterbrechen durch das betätigen des Stop-Buttons?

Anmerkung: Ich möchte nicht, dass in der Prozedur für das Kopieren jedes Mal eine Variable für den Stop-Button abgefragt wird. Es soll lediglich von außerhalb auf diese Prozedur zugegriffen werden und diese beispielsweise durch ein Return direkt beendet werden.

Vielleicht hat ja jemand von Euch eine Ahnung wie? Vielleicht mit nem Thread oder über Trace?

lg und Danke im Voraus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
manfred
Administrator
Administrator


Anmeldungsdatum: 03.03.2003
Beiträge: 990

BeitragVerfasst am: 09.03.2010, 13:31:14    Titel: Antworten mit Zitat

##

set ::x 0
set ::command ""
proc schleife {} {
incr ::x
eval $::command
after 500 {schleife}
}

pack [label .lab -textvariable ::x]
pack [button .bu -command {set ::command return} -text beenden]
schleife

##


Gruß
Manfred
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hank
Top-User
Top-User


Anmeldungsdatum: 10.03.2006
Beiträge: 876
Wohnort: Leipzig

BeitragVerfasst am: 10.03.2010, 13:14:39    Titel: Antworten mit Zitat

Hallo,

eine Schleife der Form
Code:
proc copy {} {
    foreach file [glob *] {
        file copy $file c:/backup
    }
}
kann nicht durchbrochen werden (es sein denn, es kommt bei der Ausführung von file copy zu einem Fehler).
In so einer Schleife werden faktisch keine Events (auch keine Button-Drücken) abgearbeitet. Zumindest muss die Schleife so umformuliert werden, dass Events verarbeitet werden können (Realisierung über after).

Völlig ohne Änderung in einer "eventblockierenden" Schleife kommt man nur aus, wenn man einen separaten Prozess (oder Thread) laufen lässt.

Viele Grüße
Göran
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Self-Tcl FORUM Foren-Übersicht -> Tcl/Tk Entwickler/Programmierung-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.





TCL Tool Command Language, TK Toolkit, Lesen, Fachbücher, Referenzen, Literatur zu Programmierung





Tcl/Tk Bücher, Literatur und Fachbücher
Bücher / Fachbücher / Literatur zu Tcl/Tk



zu Favoriten / als Lesezeichen


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de




| www.Self-Tcl.de | Fragen & Antworten zu Tcl/Tk | Forum Anmeldung | Mitglieder-Login | FORUM | Impressum |



- TOP -
(zurück nach oben auf dieser Seite)