• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Debug on open handler

Kernelpanik

Echter Boikenapfel
Registriert
05.03.04
Beiträge
2.342
Hallo,
ich habe immer wieder Probleme mit den "on open" handler. Anders als beim "on run" handler kann ich Events, Antwort und Ergebnis nicht einsehen. Gibt es da eine Möglichkeit? Bis jetzt habe ich in jedem "on open" handler nach fast jeder Zeile ein "display dialog result" eingebaut aber in einigen Fällen funktioniert das nicht.
 
Das einfachste ist es wahrscheinlich on open auszukommentieren und stattdessen choose file zu verwenden. Meistens macht es bei Droplets aber auch Sinn folgendes Konstrukt zu verwenden (oder etwas ähnliches):

Code:
on open theFiles
   main(theFiles)
end open

on run
    set theFiles to choose file with multiple selections allowed
    main(theFiles)
end run

on main(theFiles)
    -- Programmcode:
    log theFiles
end main
 
Ich habe bemerkt das sich "on open var" und "set var to choose file" nicht gleich verhalten, obwohl das Ergebnis bei beiden ein oder mehrere alias sind. Beim "on open" handler habe ich Situationen in denen das Droplet freezt. Wenn man z.B. verschiedene Dateitypen gleichzeitig versucht zu öffnen.
 
Du kannst den open-Handler auch im Skript im run-Handler aufrufen mit "open theFiles". Wenn es aber einen Bug mit dem open-Handler gibt, wird dir das wahrscheinlich nicht weiterhelfen.

Mir ist es z.B. ab und zu aufgefallen, dass beim open-Handler nicht alle Dateien gleichzeitig geöffnet werden, sondern das Programm mehrfach aufgerufen wird.

Es gibt auch Debugger für AppleScript, wie z.B. den AppleScript Debugger, das benutze ich aber schon wegen des Preises nicht.