Hallo zusammen,
ich hab' letztens begonnen in Xcode 4 mit Cocoa Applescript zu programmieren. Dabei bin ich auf folgendes Problem gestoßen, für das ich leider keine Lösung habe:
Das folgende Script funktioniert in dem Sinne, dass man den Start-Button (linked mit clickedStart_(...)) drückt, ein Prozess startet und der Progress-Balken "myProgressBar" läuft.
Was nicht klappt ist, dass sich während der Repeat-Schleife der Cancel-Button (linked mit clickedStop_(...)) drücken ließe um den Process vorzeitig abzubrechen. Beide Buttons ("Start" und "Cancel") sind nach einmaligem Drücken von "Start" eingefroren. Erst wenn der Prozess zu Ende ist, kann man wieder einen Button drücken [Blockierte Grafik: http://www.fischer-bayern.de/phpBB2/images/smiles/icon_sad.gif]
Was mache ich falsch? Wie kann ich einen Prozess im Hintergrund laufen lassen, dessen Fortschritt über den Progress-Balken angezeigt wird, und der sich nahezu jederzeit über den Cancel-Button abbrechen lässt?
Danke im Voraus für Eure Hilfe, Sese [Blockierte Grafik: http://www.fischer-bayern.de/phpBB2/images/smiles/icon_smile.gif]
Alles anzeigen
ich hab' letztens begonnen in Xcode 4 mit Cocoa Applescript zu programmieren. Dabei bin ich auf folgendes Problem gestoßen, für das ich leider keine Lösung habe:
Das folgende Script funktioniert in dem Sinne, dass man den Start-Button (linked mit clickedStart_(...)) drückt, ein Prozess startet und der Progress-Balken "myProgressBar" läuft.
Was nicht klappt ist, dass sich während der Repeat-Schleife der Cancel-Button (linked mit clickedStop_(...)) drücken ließe um den Process vorzeitig abzubrechen. Beide Buttons ("Start" und "Cancel") sind nach einmaligem Drücken von "Start" eingefroren. Erst wenn der Prozess zu Ende ist, kann man wieder einen Button drücken [Blockierte Grafik: http://www.fischer-bayern.de/phpBB2/images/smiles/icon_sad.gif]
Was mache ich falsch? Wie kann ich einen Prozess im Hintergrund laufen lassen, dessen Fortschritt über den Progress-Balken angezeigt wird, und der sich nahezu jederzeit über den Cancel-Button abbrechen lässt?
Danke im Voraus für Eure Hilfe, Sese [Blockierte Grafik: http://www.fischer-bayern.de/phpBB2/images/smiles/icon_smile.gif]
Quellcode
- -- Cocoa Applescript Application
- --
- -- AppDelegate.applescript
- -- SimpleProgressBar
- --
- script AppDelegate
- property parent : class "NSObject"
- property myProgressBar : missing value
- property myPleaseStop : false
- on myRun_()
- -- init
- set myProgressBar's isIndeterminate to false
- myProgressBar's setMinValue_(0)
- myProgressBar's setMaxValue_(100)
- end myRun_
- on clickedStop_(aNotification)
- -- set stop flag
- set myPleaseStop to true
- end clickedStop_
- on clickedStart_(aNotification)
- -- start progress
- set myPleaseStop to false
- repeat with myCounter from 1 to 5
- myProgressBar's incrementBy_(20.0)
- delay 2
- if myPleaseStop is true then exit repeat
- end repeat
- end clickedStart_
- on applicationWillFinishLaunching_(aNotification)
- -- Insert code here to initialize your application before any files are opened
- myRun_()
- end applicationWillFinishLaunching_
- on applicationShouldTerminate_(sender)
- -- Insert code here to do any housekeeping before your application quits
- return current application's NSTerminateNow
- end applicationShouldTerminate_
- end script