Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
787 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  PlugIn d'une application sans Doc : Il me manque des fonctions....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PlugIn d'une application sans Doc : Il me manque des fonctions....

n°400969
backdafuck​up
Back to da old skool
Posté le 20-05-2003 à 11:30:15  profilanswer
 

Je fais un plugIn pour le logiciel Digital Micrograph de chez Gatan (www.gatan.com)
 
La doc fournie est en fait une sdk qui présente des exemples de plugin, mais incomplets...
J'ai récupéré un exemple pour modifier les menus de l'application.
J'ai réussi à faire le menu, mais il me manque certaines fonctions, notamment celle pour savoir si une option de menu est active ou non...
La fonction pour activer/désactiver une option est SetEnabled();
J'ai essayé, pour consulter, GetEnabled, IsEnabled, IsWindowEnabled, mais sans résultat...
 
VOici mon code :
 

Code :
  1. class MenuCamera : public Gatan::plugIn::StandardPlugInMenu
  2.   {
  3.     public:
  4.      MenuCamera();
  5.      virtual void Adjust();
  6.      virtual bool DoMenuAction( CommandID action, CommandIndex index );
  7.   };
  8.  
  9.   //ces define représentent les differentes options de menu
  10.   #define CMD_OPENCAMERA 11700
  11.   #define CMD_CLOSECAMERA 11701
  12.   #define CMD_PARAMCAMERA 11702
  13.   #define CMD_STARTACQ 11703
  14.   #define CMD_STOPACQ 11704
  15.  
  16.  
  17.   ///
  18.   /// The following constructor adds two menu items and a divider to
  19.   /// a top-level menu named 'MenuCamera'
  20.   ///
  21.   MenuCamera::MenuCamera()
  22.    : StandardPlugInMenu( "Caméra" )
  23.   {
  24.      AddAction( CMD_OPENCAMERA, 0 );
  25.      AddAction( CMD_CLOSECAMERA, 0 );
  26.      AddBar();
  27.      AddAction( CMD_PARAMCAMERA, 0 );
  28.      AddBar();
  29.      AddAction( CMD_STARTACQ, 0 );
  30.      AddAction( CMD_STOPACQ, 0 );
  31.      
  32.      SetName(CMD_OPENCAMERA, "Démarrer la caméra" );
  33.      SetName(CMD_CLOSECAMERA, "Couper la caméra" );
  34.      SetName(CMD_PARAMCAMERA, "Paramètres..." );
  35.      SetName(CMD_STARTACQ, "Lancer l'acquisition" );
  36.      SetName(CMD_STOPACQ, "Terminer l'acquisition" );
  37.   }
  38.  
  39.   //La fonction Adjust est automatiquement appelée lors du click   
  40.   //sur le menu Camera
  41.   void MenuCamera::Adjust()
  42.   {
  43.             //mon problème est ici. au lieu de true or false, j'aurais
  44.             //préféré une commande de ce style :
  45.             //SetEnabled(CMD_XXX, GetEnabled(CMD_YY));
  46.             // ou encore
  47.             //SetEnabled(CMD_XXX, !GetEnabled(CMD_YY));
  48.    
  49.      SetEnabled( CMD_STARTACQ, false );
  50.      SetEnabled( CMD_STOPACQ, false );
  51.      SetEnabled( CMD_CLOSECAMERA, false );
  52.      SetEnabled( CMD_PARAMCAMERA, true);
  53.      SetEnabled( CMD_OPENCAMERA, true);
  54.      
  55.   }
  56.  
  57.   ///
  58.   /// 'DoMenuAction' is called whenever the user selects a menu item.
  59.   /// The action specified when the menu item was created is passed in,
  60.   /// and the method should use this to determine whether to handle the
  61.   /// message.  If the message was handled and no further processing is
  62.   /// allowed, return true.
  63.   ///
  64.   bool MenuCamera::DoMenuAction( CommandID action, CommandIndex /*index*/ )
  65.   {
  66.      bool handled = false;
  67.      switch( action )
  68.      {
  69.         case CMD_OPENCAMERA:
  70.         {
  71.            DM::Result( "Démarrage de la caméra...\n" );
  72.            handled = true;
  73.         } break;
  74.         case CMD_CLOSECAMERA:
  75.         {
  76.            DM::Result( "Fermeture de la caméra...\n" );
  77.            handled = true;
  78.         } break;
  79.         case CMD_PARAMCAMERA:
  80.         {
  81.            DM::Result( "Paramétrage de la caméra...\n" );
  82.            handled = true;
  83.         }break;
  84.         case CMD_STARTACQ: 
  85.         {
  86.            DM::Result( "Début de l'acquisition...\n" );
  87.            handled = true;
  88.         }break;
  89.         case CMD_STOPACQ:
  90.         {
  91.            DM::Result( "Fin de l'acquisition...\n" );
  92.            handled = true;
  93.         }break;
  94.         default:break;
  95.      }
  96.      return handled;
  97.   }


 

mood
Publicité
Posté le 20-05-2003 à 11:30:15  profilanswer
 

n°401131
youdontcar​e
Posté le 20-05-2003 à 13:18:41  profilanswer
 

http://www.dependencywalker.com/
 
Charge les dlls de l'application et ça te donnera les fonctions exportées. Charge les plugins, tu verras les fonctions importées.

n°401312
backdafuck​up
Back to da old skool
Posté le 20-05-2003 à 14:54:02  profilanswer
 

Oui, mais la j'ai pas trouvé, pourtant j'ai tout fouillé.
J'ai meme pas trouvé "setEnabled"...

n°401432
backdafuck​up
Back to da old skool
Posté le 20-05-2003 à 16:04:28  profilanswer
 

bon j'ai trouvé.
En fait il fallait chercher dans les .h fournis par Gatan pour les plugins.
La fonction que je cherche n'existe pas. Apparement, on ne peut se servir que de quelques fonctions, et ce n'est vraiment pas complet... C'est pourri...
 
Topic terminé...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  PlugIn d'une application sans Doc : Il me manque des fonctions....

 

Sujets relatifs
lancer une application sans vbscriptRegex et fonctions php
[Divers] application temps réel, kezako ??où trouver une doc qui détaille l'utilisation des fonctions opengl ?
[VC++] enchaînement des appels de fonctions dans une application....process d'application vb resistant même apres fermeture
Include / fonctions / vitesse d'execution[PHP] Fonctions FTP depuis un client?
[Merise] Cherche application qui crée un MCD merise ? (Free ou Demo) 
Plus de sujets relatifs à : PlugIn d'une application sans Doc : Il me manque des fonctions....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR