IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

DLL avec paramètres


Sujet :

C++

Vue hybride

karen8304 DLL avec paramètres 08/07/2015, 14h41
prgasp77 bonjour, es-tu sûre que... 08/07/2015, 14h45
karen8304 Ce code fonctionne et réalise... 08/07/2015, 14h50
Médinoc Ce que je ferais d'instinct,... 08/07/2015, 15h00
karen8304 Merci pour votre réponse mais... 08/07/2015, 15h05
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 28
    Par défaut DLL avec paramètres
    Bonjour à tous,

    J'ai un problème lors de la création d'une DLL. J'écris le code ci-dessous pour que se soit plus simple à comprendre.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    IFHw * g_pSmt351=0;
    int flag_cross=0;
    int Delta_Cross=20;
    int Mean_ROI_display = 0;
    int Mean_ROI_lum = 5000;
    int Border_Cross_display = 0;
    int Border_Cross_lum =10000;
    int Center_Cross_display = 0;
    int Center_Cross_lum = 7000;
     
     
    static void HandleKeyboard(CImgDisplay & display)
    {
     
    	if(display.is_event && display.is_key())
    	{
     
    		if(display.is_keyPADADD) 
    		{
    			printf("Cross display mode \n");
    			Center_Cross_display =!Center_Cross_display;
    			Border_Cross_display =!Border_Cross_display;
    			flag_cross=1;
    		}	
     
    		if(display.is_keyPADSUB) 
    		{
    			printf("Mean ROI display mode \n");
    			Mean_ROI_display =!Mean_ROI_display;
    			flag_cross=1;		
    		}	
     
    	}
     
    }
     
    void display_cross_roi(void)
    {
    	if (flag_cross)
    	//display cross and Roi on request
    	{
    		reg_proc_write(26,(Delta_Cross<<16 | Mean_ROI_display<<15)|(Mean_ROI_lum<<0), g_pSmt351); // Centered ROI  display and delta between crosses
    		reg_proc_write(27,(Border_Cross_display<<31)|(Border_Cross_lum<<16)|(Center_Cross_display<<15)|(Center_Cross_lum<<0), g_pSmt351); // Center and Border Cross display
    	}
    }
    Je souhaite passer la fonction void display_cross_roi(void) sous forme de DLL. Je ne sais pas à quel endroit et comment je dois initialiser les variables (à l'intérieur de la DLL, en dehors, sous forme de paramètres?). J'ai essayé de différente manière mais je pense que je ne rentre jamais dans la boucle
    if (flag_cross)
    //display cross and Roi on request
    {
    reg_proc_write(26,(Delta_Cross<<16 | Mean_ROI_display<<15)|(Mean_ROI_lum<<0), g_pSmt351); // Centered ROI display and delta between crosses
    reg_proc_write(27,(Border_Cross_display<<31)|(Border_Cross_lum<<16)|(Center_Cross_display<<15)|(Center_Cross_lum<<0), g_pSmt351); // Center and Border Cross display
    }
    car je ne détecte pas le passage à 1 de flag_cross.

    Pouvez-vous m'aider ?

    Je vous remercie par avance.

    Karen.

  2. #2
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    bonjour,

    es-tu sûre que HandleKeyboard() est effectivement appelé ?

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 28
    Par défaut
    Ce code fonctionne et réalise ce que je souhaite cependant dès que je met la fonction void display_cross_roi(void) sous forme de DLL ça ne fonctionne plus mais vu que je n'ai rien modifié au niveau de HandleKeyboard() je pense que oui.
    (Je ne sais pas si j'ai répondu à la question.)

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ce que je ferais d'instinct, c'est passer à ta fonction un pointeur de classe abstraite, dont les fonctions virtuelles permettent de récupérer les valeurs voulues.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 28
    Par défaut
    Merci pour votre réponse mais étant encore débutante je ne comprend pas exactement ce qu'il faut faire pouvez-vous m'expliquer un peu plus en détail s'il vous plait?

    Merci d'avance.

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    J'ai peut-être parlé un peu vite, en fait. Où est appelé display_cross_roi?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. wxWidgets 2.6.4 et DLL avec paramètres
    Par carreau dans le forum wxWidgets
    Réponses: 1
    Dernier message: 13/11/2008, 14h20
  2. DLL avec paramètres CString et String en .net
    Par basnifo dans le forum C++/CLI
    Réponses: 3
    Dernier message: 25/09/2008, 19h45
  3. charger une DLL avec paramètres
    Par cyberchand dans le forum C#
    Réponses: 6
    Dernier message: 29/05/2007, 16h28
  4. Réponses: 4
    Dernier message: 09/02/2006, 16h22
  5. [VB6]appel de dll en C avec paramètres
    Par SerLab dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/02/2006, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo