Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Probleme mit Droplets bei AppleSkriptStudio
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DickerZeh
•-->
•-->


Anmeldedatum: 28.12.2001
Beiträge: 23

BeitragVerfasst am: 29.12.2001 - 00:08    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Das neue AppleSkriptStudio ist in der Tat umwerfend, wie hier auch schon zu lesen war. Aber was nützt der schönste Interface-Builder, wenn ich  mein Skript nicht ans Laufen kriege: der on-open-Handler liefert hauptsächlich die Fehlermeldung: NSInternalScriptError (8). Dasselbe kurze Test-Skript, kompiliert unter SkriptEditor für OSX, läuft dagegen problemlos. Hat jemand eine Idee, woran das liegen könnte?
Smile Dirk
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 29.12.2001 - 01:51    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Ich habe mal eben den anderen Weg probiert und den Scriptcode eines bereits fertigen Droplets in ein Project-Builder-Droplet eingesetzt.

Build succeeded

Ausführung: fehlerfrei

Kann also kein generelles Problem sein.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
DickerZeh
•-->
•-->


Anmeldedatum: 28.12.2001
Beiträge: 23

BeitragVerfasst am: 29.12.2001 - 18:54    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Lieber Snow,
danke für's Ausprobieren. Vielleicht sitzt der Fehler tatsächlich mal wieder vor dem Bildschirm statt dahinter, aber ich mache eigentlich nix Besonderes. Ganz kurz und einfach: Ich eröffne ein neues Droplet-Projekt, füge deinen Beispiel-Code aud diesem Forum für ein Droplet ein:

on open x
Ý if class of x is string then
Ý set the_type to class of x as text
Ý display dialog the_type buttons "OK" default button 1
Ý display dialog ((count words in x) as text) & " words. " buttons "OK" default button 1
Ý else if class of x is alias then
Ý set the_type to class of x as text
Ý display dialog the_type buttons "OK" default button 1
Ý display dialog ( "File path: " & x as text) buttons "OK" default button 1
Ý else if class of x is list then
Ý set the_type to class of x as text
Ý display dialog the_type buttons "OK" default button 1
Ý repeat with i in x
Ý tell me to open contents of i
Ý end repeat
Ý end if
end open

und lösche natürlich den original on-open-handler. Danach builde (*SchlechterDeutsch*) ich das Script, lasse ein paar Files auf das Programmsymbol fallen und bekomme immer den Fehler: NSInternalScriptError (8).  
Wenn es bei dir klappt, was machst du anders?

Noch eine Frage: wie debugge ich überhaupt ein Droplet, wenn ich über diese erste Hürde hinweg bin? Wie übergebe ich Dateien oder Ordner an das Script und starte dennoch den Debugger?

Bin dankbar für  Hilfe!
Smile Dirk
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 29.12.2001 - 20:08    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Das Skript läuft bei mir auch nicht.

Leider funktionieren einige Sachen in AppleScript-Studio anders.

Einfaches Beispiel:

set the_Result to button returned of (display dialog "Just testing!" )

Das führt ebenfalls zu einem Fehler. Es ist natürlich frustrierend, wenn die einfachsten Sachen schon nicht mehr funktionieren.

Ich möchte deshalb im Praxis-Teil von ScriptMyMac.de eine entsprechende Rubrik schaffen, wo solche 'Snippets' gesammelt werden - gewissermaßen als Nachschlagewerk.

Aufruf an ALLE: Schickt mir eure Erkenntnisse per Mail

Ich werde das dann entsprechend aufbereiten.

Zum Debugging:
Da kann ich dir für AppleScript-Studio noch keine Tipps geben. Mir hat bisher das Eventprotokoll und das Ergebnisfenster wesentlich mehr geholfen. Mit dem Debugger in Project Builder kann ich ehrlich gesagt noch gar nichts anfangen.

Droplets habe ich bisher immer so debuggt, dass ich versucht habe, für den Run-Handler die gleichen Bedingungen zu schaffen wie für den Open-Handler.

Beispiel:

on run
set x to (choose file) as list
-- set x to choose folder
do_my_stuff(x)
end run

on open x
do_my_stuff(x)
end open

on do_my_stuff(x)
if class of x is string then
set the_type to class of x as text
display dialog the_type buttons "OK" default button 1
display dialog ((count words in x) as text) & " words. " buttons "OK" default button 1
else if class of x is alias then
set the_type to class of x as text
display dialog the_type buttons "OK" default button 1
display dialog ( "File path: " & x as text) buttons "OK" default button 1
else if class of x is list then
set the_type to class of x as text
display dialog the_type buttons "OK" default button 1
repeat with i in x
tell me to open contents of i
end repeat
end if
end do_my_stuff

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 24.02.2003 - 23:02, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
DickerZeh
•-->
•-->


Anmeldedatum: 28.12.2001
Beiträge: 23

BeitragVerfasst am: 29.12.2001 - 20:52    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Na, da bin ich ja beruhigt, dass der 'Fehler' doch bei ASS liegt.
Wie kriege ich denn raus, wie ich eine Dateiliste im on open handler behandeln muss?
Wenn AppleSkript für AppleSkriptStudio sich so vom bisherigen unterscheidet, bräuchte man auch eine Liste der Befehle von Apple. Hat jemand eine Quelle?
Smile Dirk
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 29.12.2001 - 21:04    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Tja, da hilft nur Ausprobieren!
Der Fehler in unserem Testskript war die Definition der Buttons für die Dialoge.

display dialog the_type buttons "OK" default button 1

Die Buttons in einer Liste aufführen, so wie sich das gehört, und schon läuft auch dieses Skript. Anscheinend ist AS-S nicht so fehlertolerant.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 24.02.2003 - 23:03, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 29.12.2001 - 21:44    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Muss mich korrigieren!

set the_Result to button returned of (display dialog "Just testing!" )

Das funktioniert doch. Da muss ich wohl bei meinen Tests einen anderen Fehler drin gehabt haben.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 24.02.2003 - 23:03, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
DickerZeh
•-->
•-->


Anmeldedatum: 28.12.2001
Beiträge: 23

BeitragVerfasst am: 30.12.2001 - 00:16    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

An der Definition des Dialogs liegt es leider nicht Sad
Selbst wenn man die Buttons weglässt (was normalerweise funktioniert), kommt es im Kontext des Testskripts zum Fehler.

Nach meinen Versuchen ist es diese Zeile:

       set the_type to class of x as string

denn hier scheint schon the_type nicht korrekt belegt zu werden, wodurch es in
      display dialog the_type
zu einem Fehler kommt.

Aber es gibt keine Möglichkeit, die Variable im Debugger zu überprüfen, denn ein AS-S-Droplet lässt sich offensichtlich wirklich nur als Droplet starten Sad Wenn ich es mit deinem on-run-tipp versuche, bekomme ich nur ein aktives Droplet (in der Menüleiste) ohne jede Reaktion.

Ich kann kaum glauben, dass AS-S solche Probleme verursachen sollte!
Gruß, Dirk
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 30.12.2001 - 02:10    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Also bei mir haben die richtigen Definitionen bei den Dialogen geholfen.

display dialog the_type buttons { "OK" } default button 1

Allerdings läuft das Skript nur jedes zweite Mal richtig. Sad

Zum Debugging:

Ich vergaß zu schreiben, dass meine geschilderte Methode in AS-S auch nicht funktioniert. Das war eben nur die Vorgehensweise, die ich bisher angewendet hatte.

In AS-S setzt du an allen kritischen Punkten Breakpoints. Dann auf das Symbol "Hammer & Spraydose" klicken oder Befehlstaste & Y drücken oder aus dem Menü "Build" die Option "Build and Debug" auswählen.

Daraufhin startet der Debugger. Sonst tut sich allerdings nicht viel. Das Droplet erscheint aber im Dock. Du kannst jetzt Dateien darauf ziehen. Dann rührt sich auch der Debugger.

Mit den Informationen, die er mir liefert bin ich allerdings auch noch nicht so ganz zufrieden. Aber vielleicht gibt's ja noch mehr zu entdecken.

Mal sehen.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 24.02.2003 - 23:04, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
DickerZeh
•-->
•-->


Anmeldedatum: 28.12.2001
Beiträge: 23

BeitragVerfasst am: 30.12.2001 - 16:30    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Jupp, jetzt klappt's auch bei mir, danke!
Seltsam ist, dass der display dialog-Befehl z.T. auch ohne Angabe eines Buttons klappt: display dialog Variable.
Aber in den entscheidenden Fällten tat es nur die vollständige Variante.

Zum Debugging: Ich stand wohl auf dem Schlauch: klar kann man die Dateilisten auch auf den Icon im Dock schieben, danke für den Tipp. So klappt es , ...meistens. Seltsamerweise überspringt der Debugger manchmal einfach die Breakpoints, obwohl sie alle aktiviert sind.

Überhaupt: das mit AS-S kompilierte Skript übergeht eine nicht funktionierende Variablenzuweisung (z.B. wegen Typen-Konflikts) ohne Murren, erst wenn die Variable weiterverarbeitet oder z.B. angezeigt werden soll, kommt die Fehlermeldung, weil die Variable angeblich nicht existiere. Ich habe das Gefühl, dass v1.0 von ASS noch nicht perfekt funktioniert.
Smile Dirk
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 01.01.2002 - 01:39    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Jetzt stehe ich vor dem gleichen Problem:

set x to path to desktop from user domain

Das funktioniert, wenn man es so in ein AS-S Projekt einbaut.

set y to desktop
set x to path to y from user domain

Das klappt auch noch.

Sobald ich aber 'desktop' in einer Liste stehen habe und es daraus verwenden will, klappt es nicht mehr.

"Finder got an error: Can't make desktop into an item"

Hierzu muss ich noch sagen, dass ich die Liste in einem tell-Block, der an den Finder gerichtet ist, erstelle.

tell application "Finder"

    set dieListe to { apple menu, desktop, fonts, usw. }

end tell

Ohne diesen tell-Block wird das Projekt gar nicht kompiliert.

Eine Lösung ist leider noch nicht in Sicht.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
MiDan23
Gast





BeitragVerfasst am: 20.08.2002 - 16:00    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Als ob das alle Probleme gewesen wären ...
Ich habe mit dem Project-Builder ein AppleScript-Droplet-Projekt gestartet und nur diesen Code geschrieben :

on run t
display dialog "RUN"
quit
end run

on open t
display dialog "OPEN"
quit
end open

Als Droplet funktioniert die Sache wie erwartet, aber wenn ich dieses Droplet driekt starte, kommt nur das DROPLET-Menü und das wars ...

Den Trick mit dem "on launched"-Handler habe ich auch ausprobiert ... ohne Erfolg ...
Den Code im AppleScript-Editor eingefügt, als Programm gespeichert :
Alles läuft wie eine Eins ...

Wenn ich eine einfache Möglichkeit wüsste, um einen netten Konfig-Dialog direkt mit AppleScript zu erstellen, wäre mir auch geholfen ...
Nach oben
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 20.08.2002 - 16:24    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Also der "on run"-Handler bringt gar nichts.
Es kann nur mit dem "on launched" funktionieren. Diese Funktion muss aber einem Objekt zugewiesen sein. Deshalb beginnt der Handler ja auch mit:

on launched theObject

Damit dürfte aber auch klar sein, dass man zuerst ein Dialogfenster im Interface-Builder erstellen muss, damit man dies mit dem "on launched"-Handler verknüpfen kann. Mit einer Meldung durch "display dialog" kann es nicht gehen, da hier diese Verknüpfung fehlt.

Droplet-Applet-Artikel

Gruß
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 24.02.2003 - 23:05, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
MiDan23
Gast





BeitragVerfasst am: 20.08.2002 - 21:15    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

Ich brings immer noch nicht fertig ...

Scheinbar bin ich für AppleScript zu blöd ... vielleicht sollte ich wieder zu TCL/TK zurück ...

"on launched" wird generell ignoriert. Wie weise ich diese funktion einem Objekt zu ?

Im Info-Fenster unter "Applescript" ist nichts von "launched" zu sehen ...

(Sorry wenn ich nerve, wahrscheinlich habe ich mir für mein erstes AppleScript-Projekt was "zu grosses" rausgesucht ..."
Nach oben
MiDan23
Gast





BeitragVerfasst am: 20.08.2002 - 22:23    Titel: Probleme mit Droplets bei AppleSkriptStudio Antworten mit Zitat

UND ES GEHT DOCH ...

... und zwar folgendermassen :

1) Project Builder starten und ein neues AppleScript-Droplet-Projekt anfangen
2) Unter "Ressources" ein Doppleklick auf "MainMenu.nib" um den Interface Builder zu starten
3) Im Fenster "MainMenu.nib" unter "Instances" "File's owner" anklicken und das Info-Fenster öffnen (Menü Tools -> Show Info)
4) Im Info-Fenster oben auf "AppleScript" gehen
5) Bei den Event-Handlern auf den Pfeil vor "Application" klicken
6) Jetzt kann man den idle-Handler deaktivieren wenn man ihn nicht braucht (ASS fügt den Code sonst selbst wieder ein)
7) Und man kann den launched-Handler aktivieren !
8) Wenn man jetzt unten auf "Edit Script" klickt und folgenden Code eingibt :

on open theObject
  display dialog "OPEN"
  quit
end open

on launched theObject
  display dialog "LAUNCHED"
end launched

erhält man ein Programm, das folgendes tut :

1)  Wenn man es per Doppelklick startet, erscheint der "LAUNCHED"-Dialog
2) Man kann das Programm mittels Menü-Befehl beenden ...
3) ... oder etwas aufs Icon "fallen lassen". Dann erscheint der "OPEN"-Dialog und das Programm wird beendet.
4) Wenn man, ohne es per Doppelklick zu starten, etwas aufs Icon "dropt", erscheint zuerst der "OPEN"-Dialog, gefolgt vom "LAUNCHED"-Dialog und das Programm wird beendet.
Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum Alle Zeiten sind GMT + 2 Stunden
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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.


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


AppleScript für absolute Starter