JMP16 Save Image a maintenant besoin d'un type d'image entre guillemetsIl semble que l'argument de type d'image dans Save Image() doit maintenant être entre guillemets.
L'index de script ne reflète pas cela et son exemple de code ne fonctionne pas dans la version 16.
Dans l'exemple de code, Open() fonctionne avec jpg comme argument, mais Save Image() indique "name unresolved jpg in access or evaluation of 'jpg' :
img = Open( "$SAMPLE_IMAGES/tile.jpg", jpg );
obj = New Window( "tile(40,40)", img );
img << Save Image("C:/temp/Mediterranean.jpg", jpg);
Mettre jpg (ou d'autres types de fichiers) entre guillemets Est-ce que travail - non seulement il n'échoue pas, mais il enregistre dans le type demandé.
ScriptRe : JMP16 Save Image a maintenant besoin d'un type d'image entre guillemetsMerci de l'avoir signalé, @hardner et @Craige_Hales .
Le changement de comportement de l'argument de type d'image pour Save Image() a été récemment signalé.Nous nous attendons à ce que l'index de script (Aide > Index de script) soit mis à jour pour démontrer l'exigence de double-guillemets de l'argument de type d'image.
En ce qui concerne la confusion générale, l'explication de Craige est correcte.C'est un travail en cours.N'hésitez pas à signaler toute incohérence que vous rencontrerez à l'avenir au support technique de JMP, support@jmp.com.
Re : JMP16 Save Image a maintenant besoin d'un type d'image entre guillemets@Wendy_Murphrey
Re : JMP16 Save Image a maintenant besoin d'un type d'image entre guillemetsMerci!Je comprends et apprécie la motivation. Je n'ai pas à imaginer vouloir que les options soient des variables.
Mais la "transition" semble déroutante.Un certain nombre de cas ont produit des avertissements "Nom JSL sans guillemets traités comme un littéral" dans les versions antérieures et j'ai éliminé ceux-ci avec diligence de ma base de code JSL assez étendue.Avec beaucoup de code à maintenir, il était très utile d'avoir des avertissements sur ce qu'il fallait changer.Mais cet exemple SaveImage() ne donne pas d'avertissement en 15.
En attendant, d'autres choses qui a fait donner un avertissement (et j'ai dûment changé!) fonctionne toujours en 16.
(quand j'ai trouvé ce problème de sauvegarde d'image pour la première fois, je pensais que peut-être tous ces avertissements étaient désormais des règles appliquées en 16, mais non)
Un exemple de cela est cet exemple de code (du Scripting Index) pour caption :
Names Default To Here( 1 );
Caption(
{100, 200},
"explanation",
Font( "Arial Black" ),
Font Size( 16 ),
Text Color( "blue" ),
Back Color( "yellow" ),
Spoken( 1 )
);En 15, vous recevez un avertissement si vous n'avez pas de guillemets autour du bleu et du jaune, mais cela fonctionne toujours en 16 (et ne donne plus d'avertissement !).
Quoi qu'il en soit, le simple fait de noter qu'il est déroutant lorsque certains cas échouent et d'autres non, certains déclenchent des avertissements et d'autres non, code que JMP lui-même a fourni via la flèche rouge -> enregistrer le script dans le passé utilisait cette méthode défavorisée et certains des la documentation le montre encore comme exemples.
Je suis en alerte maintenant que j'ai peut-être manqué d'autres incompatibilités 15/16 à ce sujet malgré les tests et je vais essayer de trouver de manière proactive des endroits pour ajouter des citations.
Re : JMP16 Save Image a maintenant besoin d'un type d'image entre guillemetsJMP corrige certains détails de mise en œuvre. Aucune idée si cette correction était intentionnelle ou un effet secondaire. Le problème avec le nom sans guillemets est que vous ne pouvez pas en faire une variable. Imaginez écrire votre propre boîte de dialogue de sauvegarde, où la boîte de dialogue permet de sélectionner le type de sauvegarde. Vous auriez à garder N appels séparés à la fonction de sauvegarde, et un si pour sélectionner l'un des appels. Avec une variable définie sur le type enregistrer sous, c'est plus propre.
En général, si JMP accepte une chaîne entre guillemets ou un nom sans guillemets, vous souhaiterez utiliser la chaîne entre guillemets. Il a l'air un peu plus moche, à moins que vous ne pensiez à la flexibilité que cela implique.
Re : JMP16 Save Image a maintenant besoin d'un type d'image entre guillemetsMerci d'avoir publié cette découverte, je pense que vous devriez la signaler à : support@jmp.com