Debug on open handler

Kernelpanik

Herrenhut
Registriert
05.03.04
Beiträge
2.300
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.
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
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
 

Kernelpanik

Herrenhut
Registriert
05.03.04
Beiträge
2.300
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.
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
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.