Hallo alle,
Ich schreibe eine Benutzeroberfläche und füge einen Abschnitt hinzu, in dem der Benutzer das Ausgabeverzeichnis zum Speichern der generierten Datendateien auswählen kann. Es folgt das Skript:
// press the select button
selectDirectoryButtonPress = Function( {this},
outputLocation = Pick Directory( "Select output location." );
outputDir << setText( outputLocation );
);
// press the clear button
ClearDirectoryButtonPress = Function( {this},
outputDir << setText( "" );
);
Allerdings funktioniert die Schaltfläche manchmal einwandfrei, löst aber manchmal einen Fehler aus
Send erwartet ein skriptfähiges Objekt{30} beim Zugriff oder bei der Auswertung von „Send“, OutputDir << /*###*/setText( OutputLocation ) /*###*/.

Insbesondere nachdem der Benutzer bereits einen Verzeichnispfad ausgewählt hat, tritt beim Drücken einer der beiden Schaltflächen der Sendefehler auf. Ich verstehe nicht, warum das passiert... Ich habe auch einen Abschnitt, in dem der Benutzer aufgefordert wird, eine Eingabedatei bereitzustellen, und das funktioniert jedes Mal einwandfrei.
Ich bin froh, dass du die Antwort bekommen hast. Die Nachricht Send Expects Scriptable Object bedeutet, dass der << (Sendeoperator) versucht, eine Nachricht zu senden (wie Text setzen ) an OutputDir, aber OutputDir enthält kein Objekt, das Nachrichten akzeptiert (a Skriptfähiges Objekt ). JSL verfügt über eine Show-Funktion, die bei diesen Problemen hilfreich sein kann; show(outputDir) Kurz vor dem Senden erfahren Sie, was OutputDir enthält.
Ich werde dies an jemanden weiterleiten, der die Botschaft möglicherweise klarer formulieren kann. es passiert oft.