JMP16 „Bild speichern“ erfordert jetzt den Bildtyp in AnführungszeichenScheint, dass das Bildtypargument in Save Image() jetzt in Anführungszeichen stehen muss.
Der Skriptindex spiegelt dies nicht wider und sein Beispielcode funktioniert in Version 16 nicht.
Im Beispielcode arbeitet Open() mit jpg als Argument, aber Save Image() sagt „Name nicht aufgelöstes JPG beim Zugriff oder bei der Auswertung von ‚jpg‘:
img = Open( "$SAMPLE_IMAGES/tile.jpg", jpg );
obj = New Window( "tile(40,40)", img );
img << Save Image("C:/temp/Mediterranean.jpg", jpg);
JPG (oder andere Dateitypen) in Anführungszeichen setzen tut funktioniert - es schlägt nicht einfach fehl, sondern speichert im angeforderten Typ.
Automatisierung und SkripterstellungDatenzugriffBetreff: JMP16 „Bild speichern“ benötigt jetzt den Bildtyp in AnführungszeichenVielen Dank für den Hinweis, @hardner Und @Craige_Hales .
Die Verhaltensänderung für das Bildtypargument für Save Image() wurde kürzlich gemeldet.Wir gehen davon aus, dass der Skriptindex (Hilfe > Skriptindex) aktualisiert wird, um die Anforderung für doppelte Anführungszeichen des Bildtyparguments zu verdeutlichen.
Im Hinblick auf die allgemeine Verwirrung ist Craiges Erklärung richtig.Es ist in Arbeit.Melden Sie etwaige Inkonsistenzen, auf die Sie in Zukunft stoßen, gerne dem technischen Support von JMP, support@jmp.com.
Betreff: JMP16 „Bild speichern“ benötigt jetzt den Bildtyp in Anführungszeichen@Wendy_Murphrey
Betreff: JMP16 „Bild speichern“ benötigt jetzt den Bildtyp in AnführungszeichenDanke!Ich verstehe und schätze die Motivation. Ich muss mir nicht vorstellen, dass Optionen Variablen sein sollen.
Aber der „Übergang“ scheint verwirrend.In zahlreichen Fällen kam es in früheren Versionen zu Warnungen wie „JSL-Name ohne Anführungszeichen, verarbeitet als Literal“, und ich habe diese fleißig aus meiner ziemlich umfangreichen JSL-Codebasis entfernt.Da viel Code verwaltet werden musste, war es sehr hilfreich, Warnungen darüber zu haben, was geändert werden sollte.Aber dieses SaveImage()-Beispiel gibt in 15 keine Warnung aus.
Inzwischen andere Dinge, die tat Geben Sie eine Warnung (und ich habe mich ordnungsgemäß geändert!), Funktioniert immer noch in 16.
(Als ich dieses Problem mit dem Speichern von Bildern zum ersten Mal entdeckte, dachte ich, vielleicht wären all diese Warnungen jetzt erzwungene Regeln in 16, aber nein)
Ein Beispiel hierfür ist dieser Beispielcode (aus dem Scripting Index) für die Bildunterschrift:
Names Default To Here( 1 );
Caption(
{100, 200},
"explanation",
Font( "Arial Black" ),
Font Size( 16 ),
Text Color( "blue" ),
Back Color( "yellow" ),
Spoken( 1 )
);In 15 erhalten Sie eine Warnung, wenn Sie keine Anführungszeichen um Blau und Gelb haben, aber in 16 funktioniert es immer noch (und gibt keine Warnung mehr aus!).
Wie auch immer, ich möchte nur darauf hinweisen, dass es verwirrend ist, wenn einige Fälle fehlschlagen und andere nicht, einige Warnungen auslösen und andere nicht. Der Code, den JMP selbst über den roten Pfeil bereitgestellt hat -> Skript speichern, hat in der Vergangenheit diese ungünstige Methode verwendet und einige davon Die Dokumentation zeigt es immer noch als Beispiele.
Ich bin jetzt auf der Hut, dass ich trotz der Tests möglicherweise andere 15/16-Inkompatibilitäten in diesem Zusammenhang übersehen habe, und ich werde versuchen, proaktiv Orte zu finden, an denen ich Anführungszeichen hinzufügen kann.
Betreff: JMP16 „Bild speichern“ benötigt jetzt den Bildtyp in AnführungszeichenJMP korrigiert einige Implementierungsdetails. Keine Ahnung, ob diese Korrektur beabsichtigt oder ein Nebeneffekt war. Das Problem mit dem Namen ohne Anführungszeichen besteht darin, dass Sie ihn nicht zu einer Variablen machen können. Stellen Sie sich vor, Sie schreiben Ihren eigenen Speicherdialog, in dem der Dialog die Auswahl des Speichertyps ermöglicht. Sie müssten N separate Aufrufe der Speicherfunktion und eine behalten Wenn Anweisung, um einen der Anrufe auszuwählen. Wenn eine Variable auf den Typ „Speichern unter“ eingestellt ist, ist es sauberer.
Wenn JMP eine Zeichenfolge in Anführungszeichen oder einen Namen ohne Anführungszeichen akzeptiert, sollten Sie im Allgemeinen die Zeichenfolge in Anführungszeichen verwenden. Es sieht etwas hässlicher aus, wenn man nicht an die Flexibilität denkt, die es mit sich bringt.
Betreff: JMP16 „Bild speichern“ benötigt jetzt den Bildtyp in AnführungszeichenVielen Dank für die Veröffentlichung dieses Ergebnisses. Ich denke, Sie sollten es an support@jmp.com melden