Bonjour !
Mon probleme est assez simple, mais je ne trouve de reponse nulle part, aussi je me demande si c'est vraiment possible.
J'utilise un object COM, et j'enregistre un event (qui bien sur existe) avec
Le tout dans un 1er fichier .m , disont main.m . J'associe l'event de mon activex 'Msg' a la fonction 'myMsg', donc a chaque fois qu'il envoie un message de type 'Msg' la fonction 'myMsg' est appelee.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 f=figure; monActiveX=actxcontrol('monActiveXCtrl.1',[0 0 700 380],f); monActiveX.registerevent({'Msg' 'myMsg'});
Je creer ensuite un 2eme fichier .m :
Mon probleme est que je voudrais creer une variable dans cette fonction et la recuperer dans le fichier main.m (donc dans son workspace):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 function myMsg(varargin)
Dans le main.m j'ecrirais donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function maVariable=myMsg(varargin) maVariable=5;
Mais cela ne fonctionne pas, j'ai essaye plusieurs syntaxes, sans succes. Je n'ai pas trouve de reponse non plus sur les nombreux tuto dispo sur le net.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 monActiveX.registerevent({'Msg' 'maVariable=myMsg'});
Je precise que sans output pour ma fonction cela marche tres bien, si je fais un fprintf, ou n'importe quoi d'autre, ca fonctionne.
Mon but au final est de pouvoir recuperer des donnees envoyees par mon active x dans matlab. J'ai deja les fonctions .C qui vont bien, faisant appel a la fonction mex, tout cela fonctionne, le seul probleme est la recuperation de donnee depuis la fonctions appelee lorsque l'event s'active. Voila...
Des suggestions?
Merci d'avance!!
Partager