ASS: ext. Skriptaufruf: SCPT vs. APPLESCRIPT

Chief_Wiggum

Mitglied
Thread Starter
Mitglied seit
17.01.2007
Beiträge
99
N'Abend allerseits,

ich habe in meinem ASS-Projekt *.applescript und *.scpt Dateien gemischt.
Ich wollte nun aus einer scpt-Datei per load script die Funktionen einer Datei mit der Endung applescript aufrufen und ausführen.

Code:
set x to load script POSIX file ((path for script "xyz" extension "scpt")of main bundle)
Ich erhalte die Fehlermeldung: "a for script "xyz" can't go after this path"

Umgekehrt funktionierte der Befehl, wenn ich ihn in einer *.applescript Datei angewendet und damit eine scpt-Datei geladen habe.

Ich habe dann versucht, per absolutem Pfad die Datei zu laden, ging aber auch nicht, da die Endung *.applescript scheinbar nicht identifiziert werden konnte. (Fehler -1752, Script doesn't seem to belong to Applescript)

Erfolg hatte ich nur, wenn ich aus der scpt-Datei eine scpt-Datei referenziert und geladen hatte (auch nur per absoluter Pfadangabe)

Wie kann ich da jetzt durch kommen, ohne dass ich alle meine scpt-Dateien in applescript-Dateien wandle oder umgekehrt?
Kann ich überhaupt aus einer Scpt-Datei, die ja eine "echte" Skriptdatei ist, auf eine applescript-Datei verweisen, die nur eine Textdatei ist?`
Liegt es daran, dass die scpt-dateien im Skripteditor geöffnet werden und nicht in dem Xcode-Editor?
Und warum überhaupt oder wie oder watt?
Ich habe da echt ein paar Verständnisprobleme.

Grüße,
 

Chief_Wiggum

Mitglied
Thread Starter
Mitglied seit
17.01.2007
Beiträge
99
gelöst !!!

Hallo,
nachdem ich nun echt fast verzweifelt war und keiner eine Antwort wusste, habe ich es schließlich doch noch selbst heraus gefunden :freu:

Der Fehler war:
Die Befehle,die ich nutzen wollte, waren irgendwo weit draussen von einem 'tell application "Finder"' Block umklammert. Und der Finder kann wohl mit "path for" nix anfangen. :hamma:

Das Referenzieren von kompilierten (*.scpt) und nicht kompilierten (*.applescript) Dateien innerhalb eines ASS Xcode Projektes funktioniert also einwandfrei mit dem Befehl

Code:
set myCode to load script POSIX file ((path for script "XYZ" extension "scpt") of main bundle)
oder mit
Code:
run script POSIX file ((path for script "XYZ" extension "scpt") of main bundle)
Aber eben nur, wenn es NICHT in einem 'tell application "Finder"' Block steht!!!

Grüße,
Chief Clancy Wiggum
 
Oben