Colorbar in deployed mode

function colorbag_bug
colorbar

puis invoquer la commande mcc comme suit:

>>mcc -mv colorbag_bug

Vous obtiendrez sous Windows l’executable colorbag_bug.exe

Ensuite pour lancer cet exécutable , il existe plusieurs manières :
soit depuis MATLAB :

>>!colorbar_bug.exe

soit en double-cliquant sur le fichier , ou encore en le lançant depuis une commande DOS.
Bref vous obtiendrez dans tous les cas la même figure que précédemment.
En revanche ce qui est hallucinant c’est de retrouver les mêmes options en mode compilé que sous MATLAB si on fait le clic-droit sur la colorbar.
En effet seuls les 3 premières options devraient apparaitre:

  • Delete
  • Location
  • Standard Colormaps

En effet pour les autres options , la doc du MATLAB Compiler là dessus est claire : Unsupported functions . Dans ce lien , on peut lire:
Some functions are not supported in standalone mode; that is, you cannot compile them with MATLAB Compiler. These functions are in the following categories:
[…]
Tools that allow run-time manipulation of figures

Et du coup lorsqu’on utilise l’ option « Interactive Colormap Shift » on obtient le message d’erreur:

??? Undefined function or method 'inspect' for input arguments of type  
'double'.

« Open Colormap Editor » retournera :

??? Undefined function or variable 'colormapeditor'.

« Show Property Editor » retournera :

Warning: The PROPEDIT function cannot be used in compiled applications.

Alors ce warning là il est marrant …genre c’est notre faute !! ;-)

Et la cerise sur le gâteau, celle qui m’a fait vraiment halluciner, c’est l’option « Show Code ». En tant que MATLAB geek tu dois savoir que le MATLAB Compiler a 2 buts:

  • Déployer ses applications sur des pc où MATLAB n’est pas installé
  • Protéger son code intellectuellement

Donc là heureusement que même si cette option apparait en compilé, elle ne marche pas!!!

??? Undefined function or method 'makemcode' for input arguments of type  
'scribe.colorbar'.

Voilà donc comme je disais au début de ce post, j’ai de suite remonté ce bug à TMW. C’est vraiment étrange que sur une fonction aussi commune que colorbar, ils aient pu passer ce bug!

Laisser un commentaire