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

Visual C++ Discussion :

Visual 2005 DLL windows.H


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut Visual 2005 DLL windows.H
    Bonjour à tous,

    Je suis en train de créer une dll avec une fenetre.
    Je fais bien l'include <windows.h> mais il me fait plein d'erreur comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    error C2065: 'TBM_SETPOS' : undeclared identifier
    error C2065: 'TRACKBAR_CLASS' : undeclared identifier
    error C2065: 'TBS_NOTICKS' : undeclared identifier
    error C2065: 'TBS_ENABLESELRANGE' : undeclared identifier
    error C2065: 'TBS_VERT' : undeclared identifier
    error C2065: 'TBM_SETRANGE' : undeclared identifier
    error C2065: 'TBM_SETPAGESIZE' : undeclared identifier
    ....
    Il me fait même une erreur sur WindowProc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cannot convert from 'LONG (__stdcall A_gain_Editor::* )(HWND,UINT,WPARAM,LPARAM)' to 'WNDPROC'
    Avec le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    windowClass.lpfnWndProc = WindowProc;
    ...
    Voici ma fonction WindowProc :

    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
     
    LONG WINAPI WindowProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	switch (message)
    	{
    		case WM_VSCROLL:
    		{
    			int newValue = SendMessage ((HWND)lParam, TBM_GETPOS, 0, 0);
    			A_gain_Editor* editor = (A_gain_Editor*)GetWindowLong (hwnd, GWL_USERDATA);
    			if (editor)
    				editor->setValue ((void*)lParam, newValue);
    		}
    		break;
    	}
    	return DefWindowProc (hwnd, message, wParam, lParam);
    }
    Savez vous d'ou cela peut provenir ?
    Merci de votre aide.

  2. #2
    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
    commctrl.h ?
    Using the Windows Headers ?
    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.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    Je comprend bien les tableaux, mais que dois je faire ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    J'ai rajouté

    en haut de mon fichier h et j'ai beaucoup moins d'erreur.

    Mais je me retrouve toujours avec l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    error C3867: 'A_gain_Editor::WindowProc': function call missing argument list; use '&A_gain_Editor::WindowProc' to create a pointer to member
     
    error C2440: '=' : cannot convert from 'LONG (__stdcall A_gain_Editor::* )(HWND,UINT,WPARAM,LPARAM)' to 'WNDPROC'
            There is no context in which this conversion is possible
    ????

  5. #5
    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
    : WNDPROC, CALLBACK, static.

    + recherche : http://www.developpez.net/forums/sho...d.php?t=252198
    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 éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 473
    Par défaut
    J'ai pas mal progressé en suivant les instructions et post/
    Plus d'erreures a la compilation.

    Mais maintenant j'ai ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     error LNK2001: unresolved external symbol "public: virtual struct HWND__ * __thiscall A_gain_Editor::CreateFader(struct HWND__ *,char *,int,int,int,int,int,int)" (?CreateFader@A_gain_Editor@@UAEPAUHWND__@@PAU2@PADHHHHHH@Z)
    Je me doute qu'il doit lui manquer un lien, mais je vois pas pourquoi dans cette méthode.... Voici la méthode ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    HWND CreateFader (HWND parent, LPCWSTR title, int x, int y, int w, int h, int min, int max)
    {
    	HWND hwndTrack = CreateWindowEx (0, TRACKBAR_CLASS, title,
    	WS_CHILD | WS_VISIBLE |
    	TBS_NOTICKS | TBS_ENABLESELRANGE | TBS_VERT,
    	x, y, w, h, parent, NULL, hInstance, NULL);
    	SendMessage (hwndTrack, TBM_SETRANGE, (WPARAM ) TRUE, (LPARAM) MAKELONG (min, max));
    	SendMessage (hwndTrack, TBM_SETPAGESIZE, 0, (LPARAM) 4);
    	SendMessage (hwndTrack, TBM_SETPOS, (WPARAM) TRUE, (LPARAM) min);
    	return hwndTrack;
    }
    Merci pour vos réponses !!!

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/02/2008, 09h18
  2. Réponses: 34
    Dernier message: 27/11/2007, 09h30
  3. [API windows.h] Problème de type sous Visual 2005
    Par Astraya dans le forum Windows
    Réponses: 3
    Dernier message: 17/07/2007, 22h14
  4. VB6 vers SQLite création de SQLiteVB.dll sous visual 2005
    Par lathenor dans le forum Visual C++
    Réponses: 3
    Dernier message: 21/05/2007, 11h39
  5. Visual studio 2005, dll bloquées
    Par zeus.isback dans le forum Visual Studio
    Réponses: 6
    Dernier message: 16/04/2007, 14h52

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