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

MFC Discussion :

Probleme objet entre differentes fonctions MFC


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    12
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par d�faut Probleme objet entre differentes fonctions MFC
    Bonjour,

    je me permets de venir poster un nouveau sujet, car voici maintenant 3 jours que je galere pour la meme chose sans trouver de r�ponses a ma question.

    Je programme actuellement un logiciel d'analyse de son Wave dans le but de faire une analyse de fourier et de trouver l'harmonique principale. Mon programme fonctionne tres bien en mode console, mais dans le but de le rendre plus sympa a l'utilisation, j'ai commenc� a faire une appli MFC. C'est la premiere fois aue je fais du MFC et je galere un peu. J'ai regard� pas mal de tutos, mais je ne toruve pas r�ponse a ma question. Bon stop le blabla, rentrons dans le vif du sujet.


    Dans mon programme j'utilise une classe WAV_IN, aui me sert a analyser le fichier WAVE. Mon probleme vient que j'ai besoin du meme objet appartenant a cette classe dans deux fonctions differentes (typiquement lorsque l'on appuie sur un bouton) et j'ai toujours la meme erreur qui me dit dans la deuxieme fonction : "undeclared identifier". J'ai essay� beaucoup de choses diff�rentes et ca n'a jamais march�. Voici un bout du code :

    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
     
    void CRock_Sound_AnalyzeView::OnBnClickedButtonanalyse()
    {
     
    	WAV_IN prt_infile(m_pDocument->GetPathName());
     
    	m_StrgFileName = m_pDocument->GetTitle();
    	m_DoubleSampleRate=prt_infile->get_sample_rate_hz();
    	m_IntNumOfSamples = prt_infile->get_num_samples();
    	m_IntBitPerSamples = prt_infile->get_bits_per_sample();
     
     
    	UpdateData(FALSE);
     
    }
     
    void CRock_Sound_AnalyzeView::OnBnClickedButton2()
    {
     
    	FftCalcul fft(prt_infile); //ici je voudrais réutiliser l'objet WAV_IN créé juste avant.
    	m_DoublePitch = fft.frequency;
     
     
    	UpdateData(FALSE);
    }
    En esp�rant que vous puissiez m'aider, merci d'avance.

    (d�sol� pour le manque d'accent, je suis en angleterre actuellement)

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par d�faut
    euh bah c'est tout con

    dans le .h tu auras :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class CRock_Sound_AnalyzeView: ....
    {
    ......
    private : 
    WAV_IN *prt_infile;
    ....
    };
    et dans le .cpp
    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
     
    void CRock_Sound_AnalyzeView::OnBnClickedButtonanalyse()
    {
     
            prt_infile = new WAV_IN(m_pDocument->GetPathName());
     
    	m_StrgFileName = m_pDocument->GetTitle();
    	m_DoubleSampleRate=prt_infile->get_sample_rate_hz();
    	m_IntNumOfSamples = prt_infile->get_num_samples();
    	m_IntBitPerSamples = prt_infile->get_bits_per_sample();
     
     
    	UpdateData(FALSE);
     
    }
     
    void CRock_Sound_AnalyzeView::OnBnClickedButton2()
    {
     
    	FftCalcul fft(prt_infile); //ici je voudrais réutiliser l'objet WAV_IN créé juste avant.
    	m_DoublePitch = fft.frequency;
     
     
    	UpdateData(FALSE);
    }

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    12
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par d�faut
    Merci de ta r�ponse !

    J'ai essay� et j'ai le message d'erreur suivant : "error C2664: 'FftCalcul::FftCalcul(WAV_IN)' : cannot convert parameter 1 from 'WAV_IN *' to 'WAV_IN'
    No constructor could take the source type, or constructor overload resolution was ambiguous"


    Je comprends a peu pres ce qu'il veut me dire, mais je ne vois pas comment r�soudre ce probleme. Quelqu'un pourrait il m'�clairer s'il vous plait ?


    EDIT : En fait c'est bon j'ai modifi� ma classe FftCalcul pour qu'elle prenne en parametres un (WAV_IN *wave). Pensez vous que ca soit une bonne solution ? (je suis d�sol� si mes question peuvent paraitre coconne, mais je reprends le C++ depuis 2 semaines, j'y avais pas touch� depuis 3 ans et les cours a l'�cole ...)

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par d�faut
    oups :
    remplace cette ligne la :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    FftCalcul fft(prt_infile);
    par cette ligne :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    FftCalcul fft(*prt_infile);
    essaie de revoir des cours sur les pointeurs et le c++ car tu as l'air un peu perdu

  5. #5
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    12
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par d�faut
    Merci, beaucoup, j'ai utilis� ta m�thode et ca marche parfaitement !

    Merci encore


    (et oui, faut que je revois tout ca parce que parfois je suis un peu a la rue )

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 13/10/2011, 19h40
  2. partager un objet entre deux fonctions
    Par thibaud74 dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 18/09/2009, 12h54
  3. attendre 1 seconde entre deux fonctions
    Par urousseau dans le forum C++Builder
    R�ponses: 8
    Dernier message: 08/06/2008, 19h14
  4. [MFC] probleme d'acces � certaine fonctions
    Par Info42 dans le forum MFC
    R�ponses: 8
    Dernier message: 14/05/2006, 20h15
  5. R�ponses: 8
    Dernier message: 13/08/2004, 12h32

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