Snow Administrator
![Administrator Administrator](/phpBB2/images/ranks/ranki5.gif)
![](images/avatars/14843438503e582f0f04e8a.gif)
Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 26.02.2004 - 00:12 Titel: Handler in verschiedenen Skripten nutzen |
|
|
In einer privaten eMail-Anfrage wurde das Problem an mich herangetragen, einen Handler in verschiedenen Skripten zu nutzen.
Ein AppleScript-Studio Projekt kann ja recht viele einzelne Skriptdateien enthalten. Globale Variablen und Properties gelten aber nur in dem Skript, in dem sie definiert wurden. Das gleiche gilt für Handler.
Zum "Sharen" von Daten aus globalen Variablen und Properties gibt es meines Wissens nur den Workaround, diese Daten in ein verstecktes Feld zu schreiben und von anderen Skripten aus zu lesen. Ebenso geht natürlich auch eine externe Preferences-Datei.
Um Sub-Routinen in anderen Skripten zu verwenden geht man so vor:
Sachverhalt: Ich möchte folgende Routine nicht in jedem einzelnen Skript des Projektes neu schreiben müssen. Also landet sie in einem extra Skript:
on hello(theText)
display dialog theText
end hello
Das Skript bekommt den Namen "hello.applescript".
Von einem anderen Skript des Projekts rufe ich nun diese Skript so auf:
(Ein Button reagiert auf folgenden Handler)
on clicked theObject
set myScript to load script POSIX file ((path for script "hello" extension "scpt") of main bundle)
tell myScript to hello("Mein Name ist Peter")
end clicked
Obwohl das Skript mit dem Handler die Dateiendung ".Applescript" hat, muss beim Aufruf 'extension "scpt"' verwendet werden.
HTH _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|