AppleScript <-> Applikation Kommunikation

H

heck

Registriert
Thread Starter
Dabei seit
10.10.2003
Beiträge
1
Reaktionspunkte
0
Hallo AppleSript gemeinschaft

weiss jemand von euch welche Varianten es gibt, von einer Applikation
aus (Prozess) ein AppleScript mit Parameterübergabe aufzurufen.

Die einzige methode die ich kenne ist der Start eines Applesctipts
welches die dargebotenen Objekte der Applikation ausliest.

Ist dies die einzige Methode?

Zweite frage, wie kann ich herausfinden welche AppleScript Objekte eine Applikation anbietet, wenn ich keine Dokumentation von der Applikation habe?
 
Ich fange mal mit der zweiten Frage an:

Zieh' die entsprechende Application auf den Skripteditor, dann wird das Befehlsverzeichnis geöffnet.

Zur ersten Frage:

Du könntest dir ein Skript quasi als Bibliothek mit verschiedenen Funktionen anlegen.

In einem anderen Skript lädst du per "load script" dieses erste Skript in eine Variable und kannst dann auf all diese Funktionen zugreifen (natürlich auch mit Parameter-Übergabe).

Beispiel:

Skript 1:

on MeineRoutine(MeinParameter)
display dialog MeinParameter as string
end MeineRoutine


Dieses Skript (Ich nenne es mal "Library") enthält die Routine, die die eigentliche Arbeit leistet. Jetzt kommt das aufrufende Skript:

Skript 2:

set myScript to ¬
load script (choose file with prompt "Wo ist die Datei \"Library\"?")

tell myScript to MeineRoutine("AppleScript macht Spaß!")


Hier wird also zunächst das Skript 1 in die Variable "myScript" geladen (Statt "choose file" kann natürlich auch eine feste Pfadangabe verwendet werden). Somit stehen alle Funktionen von Skript 1 in Skript 2 zur Verfügung.

Der Aufruf einer Funktion aus Skript 2 wird nun an die Variable "myScript" gerichtet, wobei beim Aufruf mitgeteilt wird, dass die Routine "MeineRoutine" mit dem Parameter "AppleScript macht Spaß!" ausgeführt werden soll.

Wirklich sinnvoll ist diese Vorgehensweise aber nur, wenn man wirklich eine Funktionsbibliothek benutzt.

Es muss ja schließlich zunächst das Skript 1 gestartet werden und hier müsste dann wiederum erst mal der entsprechende Wert aus der jeweiligen Applikation abgefragt werden, um dann an eine entsprechende Routine übergeben zu werden.

Wenn man nicht wirklich viele Funktionen ständig wieder braucht könnte man diese also genauso gut gleich in Skript 1 notieren.


Programme, die ein AppleScript aufrufen können sind ja eher die Seltenheit. Mir fällt da jetzt nur FileMaker ein. Ansonsten ist es ja eher so, dass ein AppleScript ein bestimmtes Programm anspricht - somit sind wir schon wieder beim "Datenabholen".

AppleScripts, die gleich mit übergebenen Parametern starten, wären Droplets, bei denen die Dateireferenzen der darauf gezogenen Dateien automatisch an das Skript übergeben werden und dann natürlich die Ordneraktionen. Auch hier werden Datei- bzw. Ordnerreferenzen an das Skript übergeben.

Mehr fällt mir im Augenblick auch nicht zum Thema ein.

Gruß
 
Was FileMaker anbelangt, gibt es dort den Befehl "Apple Event senden". Damit ist es möglich, ein Skript aufzurufen und dabei Parameter zu übergeben.

Wie das genau geht, habe ich soeben in meinem eigenen Forum gepostet (inkl. Screenshots). Deshalb hier nur der Link zum betreffenden Thema:

http://www.fischer-bayern.de/phpBB2/viewtopic.php?p=3357#3357
 
Zurück
Oben Unten