Ausgabe
Ich erhalte diesen Fehler: test.scpt: script error -41. Fehlertext konnte wegen Fehler -1700 nicht abgerufen werden.
AppleScript-Inhalt:
tell application "Adobe Photoshop CC 2019"
activate
set js to "#include '/Users/temp_myname/My Application/tmp/Adobe Scripts/script.jsx';" & return
delay 3
do javascript js
end tell
Inhalt des JSX-Skripts:
#target photoshop
var err = "";
app.bringToFront();
app.displayDialogs = DialogModes.ERROR;
var fileRef = new File("/Users/temp_myname/My Application/tmp/10.20.5.18/default_10/Images/889original.jpg");
try{
open(fileRef);
} catch (Error) { err = Error }
;fileRef = null;
var errorFile = new File("/Users/temp_myname/My Application/tmp/Adobe Scripts/psperr.txt");
errorFile.open("w");
errorFile.write(err);
errorFile.close();
errorFile = null;
function runMenuItem(item) {
cTID = function(s) { return app.charIDToTypeID(s); };var desc = new ActionDescriptor();var ref = new ActionReference();ref.putEnumerated( cTID( "Mn " ), cTID( "MnIt" ), item );desc.putReference( cTID( "null" ), ref );executeAction( cTID( "slct" ), desc, DialogModes.NO );
}
OSX-Version: 10.14.6
Wie kann dieses Skript den Fehlercode -1700 generieren? Das gleiche Skript funktioniert auf einem anderen Mac (mit der gleichen Konfiguration) einwandfrei.
Was bedeutet -41? Ich kann es in der Referenztabelle nicht finden:
Fehlernummern und Fehlermeldungen
Von dieser Seite habe ich die Beschreibung für den Fehlercode -1700 erhalten:
Es wurden fehlerhafte Parameterdaten erkannt oder es trat ein Fehler bei der Durchführung einer Zwangsmaßnahme auf.
Ich habe die Dateiberechtigungen überprüft, den Finder zurückgesetzt, den Virenscanner deaktiviert, Volumes ausgehängt … Ich habe auch die ausführbaren Dateien osascript und extendscript zu den Systemsicherheitseinstellungen hinzugefügt.
Was denkst du? Wie kann ich das zum Laufen bringen?
Übrigens. Ich führe das AppleScript von einer Java-Anwendung aus, die OpenJDK verwendet, wie folgt:
Runtime rt = Runtime.getRuntime();
Process proc;
String[] process;
process = new String[2];
process[0] = "osascript";
process[1] = "/Users/temp_myname/My Application/tmp/Adobe Scripts/test.scpt";
proc = rt.exec(process);
Lösung
Dies wurde behoben. Der Trick besteht darin, zwischen der Ausführung zweier solcher AppleScripts eine Pause einzufügen.
Fehlercode -41 ist ein OSX-Fehlercode, der in MacErrors.h zu finden ist: mFulErr = -41, / Speicher voll (öffnen) oder Datei passt nicht (laden) /
Beantwortet von – extremecoder85
Antwort geprüft von – Clifford M. (FixError Volunteer)