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

Windows Discussion :

Manipulation de Wave avec l'API windows


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Par défaut Manipulation de Wave avec l'API windows
    Bonjour,

    Pour suivre les contraintes d'un projet je dois développer une petite application permettant de lire/enregistrer, afficher et faire quelques effets sur les fichiers wave. Je ne connais pas encore l'API windows, et je dois travailler sous C++ Builder 6 (BCB6, soit BCB, pour les intimes ?). J'ai récupéré le tutoriel de très bonne qualité de cette adresse : http://www.planet-source-code.com/vb...=4422&lngWId=3 ; et tout fonctionne sauf la compilation finale : voici ma ligne erronée et l'erreur qui va avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if((buffer = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, totalBufferSize)) == NULL)
    erreur :
    [C++ Error] source_base_projet_bizare1.cpp(77): E2034 Cannot convert 'void *' to 'unsigned char *'
    A première vu tout semble normal dans l'utilisation des paramètres... Quelqu'un a-t-il l'expérience de cette erreur ? Si oui que faut-il faire ?

    Indice : en double cliquant sur l'erreur, le curseur se place après le signe égal, la fonction HeapAlloc retourne un type ' LPVOID WINAPI ', buffer est un unsigned char* ...

    Merci !

    Colin

  2. #2
    Membre émérite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if((buffer = (unsigned char *) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, totalBufferSize)) == NULL)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Par défaut
    Oops, bien sûr !
    [ trop de code, manque de frâicheur :-( ]

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Par défaut
    Bonjour,

    J'ai maintenant un petit problème de déclaration de classe. J'utilise une classe trouvée sur le net ; dans mon programme principal j'inclus les entêtes comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include "csound\\Mutex.h"
    #include "csound\\Sem.h"
    #include "csound\\Sound.h"
    #include "csound\\SoundListener.h"
    #include "csound\\SoundProcessing.h"
    #include "csound\\Str.h"
    #include "csound\\Tab.h"
    Dans chacun de ces fichiers, la classe est définie comme ceci (lignes entre parenthèses):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    (9 ) class CMutex  
    (10){
    (11)private:
    (12)	HANDLE m_hMutex;
    (13)
    (14)public:
    (15)	CMutex(void);
    (16)	virtual ~CMutex(void);
    (17)
    (18)	BOOL Lock(DWORD dwTimeOut = INFINITE);
    (19)	void Unlock(void);
    (20)};
    J'obtiens le message suivant à la compilation : (pour chaque classe)
    [C++ Error] Mutex.h(10): E2238 Multiple declaration for 'CMutex'
    [C++ Error] Mutex.h(9): E2344 Earlier declaration of 'CMutex'
    [C++ Error] Mutex.h(10): E2238 Multiple declaration for 'CMutex'
    [C++ Error] Mutex.h(9): E2344 Earlier declaration of 'CMutex'


    Le .cpp est bien dans le même dossier, pourquoi le compilateur voit-il une redéclaration ici ?

    Gracias !

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par défaut
    Y a-t-il des gardes d'inclusion?
    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.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Par défaut
    Bonjour,

    Il me semble que un truc comme c'est ça "garde d'inclusion" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #ifndef _AFX
    	#def _AFX
            [headers...]
    #endif
    Effectivement il y en a avant mais elles n'englobent pas le header de la classe.
    Je test et j'annonce le résultat...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/12/2005, 11h37
  2. Tutorial d'initiation a la programmation avec l'API Windows
    Par mcdonald dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 16/09/2005, 17h20
  3. Stocker un imprim ecran sous bmp avec l'api windows
    Par Tofalu dans le forum Windows
    Réponses: 7
    Dernier message: 04/05/2005, 11h32
  4. Réponses: 3
    Dernier message: 09/11/2004, 10h44

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