Bonjour,
j'essaie dans un fichier mex de modifier les paramètres d'une figure.
exemple : je crée une fenetre nommée tralala. je récupère son handle qui est stocké dans un double*. ( l'option entier par defaut etant activé on peut vérifier que l'handle retourné est bien correcte ( figure 1 -> handle =1.000...)
une fois cette valeur récupérer j'aimerais pourvoir, par exemple, modifier le titre.
mais la j'ai un probleme :s matlab me dit que l'handle est incorecte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
??? Error using ==> set
Invalid handle object.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 fig a("taratata");
  printf("\n %f ",*(a.get_handle()));
 
 
 
  mxArray *entrees[3],*hand,*name,*proper;
 
  hand=mxCreateDoubleScalar(*(a.get_handle()));// j'ai essayé aussi mxCreateNumericArray pour allouer la mémoire ne sachant pas comment sont stockée les handles.
 mxSetPr(hand,a.get_handle());
  proper=mxCreateString("name");
  name=mxCreateString("sdfverf");
  entrees[0]=hand;
  entrees[1]=proper;
  entrees[2]=name;
  mexCallMATLAB(0,NULL,3,entrees,"set");
quelqu'un aurait deja rencontré ce problème?
je pense que ça vient de l'allocation de la mémoire du mxarray qui contient le handle mais je ne suis pas sur :s je ne sais pas quelle fonction utilisé pour l'allouer.