begin process at 2012 02 10 19:56:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Accéder à une variable dans une focntion static de ma classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Accéder à une variable dans une focntion static de ma classe

lundi 18 juillet 2005 à 11:13:07 | Accéder à une variable dans une focntion static de ma classe

aabhanane

Bonjour à tous,
je programme avec VC++ et j'ai une fonction définie comme suit:
static BOOL CALLBACK DriverEnumProc(HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport);
J'ai une variable   " CComboBox    m_comboBox "  associée à un ComboBox.
Je veux accéder à cette variable dans ma fonction DriverEnumProc.
Quand je mets " m_comboBox.AddString("toto") " dans le focntion DriverEnumProc ceci me donne l'erreur de compilation suivante: " error C2228: left of '.AddString' must have class/struct/union type "
Je crois comprendre que je ne peux pas accéder à ma variable m_comboBox dans une fonction static.
Est ce que quelqu'un aurait une solution pour résoudre ce problème?
Merci,
Hanane

lundi 18 juillet 2005 à 11:46:31 | Re : Accéder à une variable dans une focntion static de ma classe

buno

Administrateur CodeS-SourceS
Si ta CallBack ne fait pas partie de la classe qui contient la combo, tu es obligé de la spécifier:
Classe::m_comboBox

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
lundi 18 juillet 2005 à 11:55:23 | Re : Accéder à une variable dans une focntion static de ma classe

aabhanane

resalut,
Si ma fonction callback fait partie de ma classe, et j'ai pensé malgré ça à ajouter Classe::m_comboBox mais ca ne marche pas aussi, même erreur.
Merci,
Hanane

lundi 18 juillet 2005 à 12:02:38 | Re : Accéder à une variable dans une focntion static de ma classe

buno

Administrateur CodeS-SourceS
Fait donc voir ton bout de code s'il te plait

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
lundi 18 juillet 2005 à 13:35:51 | Re : Accéder à une variable dans une focntion static de ma classe

aabhanane

Re,
En fait c'est un bout de code que j'ai trouvé sur msdn pour lister les codecs installés sur la machine et que j'ai adapté à mon problème:
dans le fichier .h:
static BOOL CALLBACK DriverEnumProc(HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport);
 
// Dialog Data
    //{{AFX_DATA(CCodecConf)
    enum { IDD = IDD_CODECCONFDLG };
    CComboBox    m_comboBox;
    //}}AFX_DATA

et dans le .cpp:

BOOL CALLBACK CCodecConf::DriverEnumProc(HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport)
{
    // Get some details.
    ACMDRIVERDETAILS dd;
    dd.cbStruct = sizeof(dd);
    MMRESULT mmr = acmDriverDetails(hadid, &dd, 0);
    if (mmr)
    {
        printf("   ");
    } else
    {
        /// Le problème est là
        m_comboBox.AddString(dd.szLongName);       
    }

    // Open the driver.
    HACMDRIVER had = NULL;
    mmr = acmDriverOpen(&had, hadid, 0);
    if (mmr) {
        printf("   ");
    } else
  {
        DWORD dwSize = 0;
        mmr = acmMetrics((HACMOBJ) had,          ACM_METRIC_MAX_SIZE_FORMAT, &dwSize);     
        acmDriverClose(had, 0);
    }

    return TRUE; // Continue enumeration.
}

BOOL CCodecConf::OnInitDialog()
{
    CDialog::OnInitDialog();
    DWORD dwACMVer = acmGetVersion();
    DWORD dwCodecs = 0;
    MMRESULT mmr = acmMetrics(NULL, ACM_METRIC_COUNT_CODECS, &dwCodecs);
   
    // Enumerate the set of enabled drivers.
    mmr = acmDriverEnum(DriverEnumProc, 0, 0);
   
    return TRUE;
}

Hanane



lundi 18 juillet 2005 à 13:42:00 | Re : Accéder à une variable dans une focntion static de ma classe

buno

Administrateur CodeS-SourceS
Est-ce que tu as inclu afxwin.h? Il contient la définition de la ComboBox
lundi 18 juillet 2005 à 13:54:12 | Re : Accéder à une variable dans une focntion static de ma classe

aabhanane

Non ca ne marche pas même si j'inclus le afxwin.h ce qui n'est pas nécessaire (je crois) puisque je travailles avec les mfc.
Hanane

lundi 18 juillet 2005 à 13:57:51 | Re : Accéder à une variable dans une focntion static de ma classe

Zootella

Esseye avec un extern devant ta variable :

extern CComboBox    m_comboBox;

lundi 18 juillet 2005 à 14:22:57 | Re : Accéder à une variable dans une focntion static de ma classe

aabhanane

Non ca ne marche pas, mais je crois que je vais faire autrement. Comme le but est de remplire la combobox avec la liste des codecs. J'ecris cette derniere dans un fichier et après je lis le fichier ligne par ligne pour remplir la comboBox. C'est un peu chercher midi à 14h mais bon ca marche en attendant de trouver une solution. Merci, Hanane
lundi 18 juillet 2005 à 14:40:28 | Re : Accéder à une variable dans une focntion static de ma classe

Zootella

Poste ton code complet si il est pas long sinon tu  l'upload quelque part.

Sinon tu peux utiliser SendMessage() avec le HWND du combobox pour ajouter une ligne:

SendMessage(ComboBoxWnd, CB_INSERTSTRING, -1, (LPARAM)"une ligne");

 Mais c'est pas du MFC..



Cette discussion est classée dans : combobox, variable, static, accéder, focntion


Répondre à ce message

Sujets en rapport avec ce message

variable membre non static dans une fonction membre static [ par adrod ] J'ai une erreur du compilateur: Error C2597. Je suis allé sur msdn pour avoir plus de précision et ils me disent:To access the nonstatic member, you m (bool) probléme avec une variable bool [ par Xilofeon ] Salut a tousquestion d'un débutant confirmé lol !!!alors voila j'ai une variable bool a utilisé dans plusieur fonction dont 1 void dans le fichier .cp import/export static member variable [ par bvoisin ] Bonjour,c'est sans doute très simple, mais j'écris une DLL qui exporte une classe.  J'ai une variable static (pour connaître le nombre d'objets instan variable private et static dans une classe [ par simtiers ] Salut ! Voilà, j'aimerais savoir comment fait-on pour utiliser une variable statique dans une classe, et que cette variable soit dans le bloc private Probléme variable static et classe incompréhension [ par Booster ] Bonjour,Voilà, j'ai une incompréhension au niveau d'une variable static. Voici mon code :maclasse.hclass maclasse; //Ca me sert juste à ce que ma vari Surdéfinition statique (static) d'une variable membre [ par PetersonG ] Bonjour,Une drôle d'idée m'a fait surdéfinir en static une variable membre d'une classe parente, et, à ma grande surprise, le code compile sans problè variable privee et statique [ par Kangourou_Nomade ] Bonjour,Je voudrais utiliser une variable statique dans une classe ( un logger). cette variable est un mutex qui me permettraitde ne pas ecrire dans m Au Secour !!!! (avec static) [ par Slan ] SalutJ'ai un petit probleme. Je voudrai recuperer le contenu d'unevariable déclarée en 'static' a partir d'une fonction contenudans un autre fichier q Static et MFC [ par xXTomTomXx ] Je travaille en mfc et j'ai vrément besoin d'aide.J'ai crée dynamiquement plusieur static et une combobox.Je n'affichee qu'une static et j'aimerai la CALLBACK dans une Classe => problême mot clef static ! [ par Capa6T ] Salut, Une petite question à 2 euros...je cherche depuis un moment et je ne trouve pas la solution. j'ai une classe bidon:// Bidon.hclass Bidon{public


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,228 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales