Hallo alle,
Ich schreibe eine Benutzeroberfläche und füge einen Abschnitt hinzu, in dem der Benutzer das Ausgabeverzeichnis auswählen kann, um die generierten Datendateien zu speichern. Nachfolgend 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( "" );
);
Die Schaltfläche funktioniert jedoch manchmal einwandfrei, löst jedoch manchmal einen Fehler aus
Send Erwartet skriptfähiges Objekt{30} beim Zugriff oder der Auswertung von 'Send' , outputDir << /*###*/setText( outputLocation ) /*###*/.

Besonders nachdem der Benutzer bereits einen Verzeichnispfad ausgewählt hat, wird das Drücken einer der beiden Schaltflächen den Sendefehler verursachen. Ich verstehe nicht warum das passiert... Ich habe auch einen Abschnitt, der den Benutzer auffordert, eine Eingabedatei bereitzustellen, und das funktioniert jedes Mal einwandfrei.
Schön, dass du die Antwort bekommen hast. Die Nachricht Send erwartet skriptfähiges Objekt bedeutet, dass der << (Sendeoperator) versucht, eine Nachricht zu senden (wie z Text setzen ) an outputDir, aber outputDir enthält kein Objekt, das Nachrichten akzeptiert (a Skriptfähiges Objekt ). JSL hat eine Show-Funktion, die bei diesen Problemen hilfreich sein kann; show(outputDir) Kurz vor dem Senden wird Ihnen mitgeteilt, was outputDir enthält.
Ich werde dies an jemanden weitergeben, der die Botschaft vielleicht klarer machen kann; es passiert viel.