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

DirectX Discussion :

Problème d'intégration de directX9...


Sujet :

DirectX

Vue hybride

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 23
    Par défaut Problème d'intégration de directX9...
    Bonjour,
    voila je suis en train de travailler sur la programmation d'un éditeur de niveau, j'utilise Visual C++ .Net et notamment les Windows Forms pour créer rapidement une interface convenable, mais quand je veux intégrer directx9 dans mon projet, ( " #include <d3d9.h> ", j'ai bien ajouté la librairie qui va avec...), j'ai des erreurs de ce style à la compilation:

    • error C2039: 'GetObjectA'*: n'est pas membre de 'System::Resources::ResourceManager'
      error C2653: 'MessageBoxA'*: n'est pas un nom de classe ni d'espace de noms
      error C2660: 'System::Windows::Forms::Control::Show'*: la fonction ne prend pas 1 arguments
      error C2653: 'MessageBoxA'*: n'est pas un nom de classe ni d'espace de noms
      etc...
    Quelqu'un sait d'où ça peut venir :
    Ce dont je suis sur c'est que dès que je fais appel à une ressource managée comme ceci par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->imageList1->ImageStream = (__try_cast<System::Windows::Forms::ImageListStreamer *  >(resources->GetObject(S"imageList1.ImageStream")));
    j'aurai une erreur à la compilation, bien sur si je n'inclus pas directX9 j'aurai aucune erreur à la compilation de mon projet...
    Mais les erreurs ne sont pas que dues aux ressources managées, car plus haut dans les erreurs que je vous ai citées il y a une erreur sur une "MessageBox"...

    Si quelqu'un a déjà rencontré ce problème, ou a une idée, je lui serait entièrement reconnaissant de me la divulguer..
    Merci d'avance...
    @++

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 23
    Par défaut
    Personne ne programme avec visual C++ .Net, et à déja essayer d'utiliser directX9 avec les windows forms :

    Sinon j'ai cherché dans le code du fichier d3d9.h pour voir où ça bloquait, et pour moi il y a surement un conflit entre la gestion des ressources dans les windows forms et la gestion des ressources de directX via son interface IDirect3DRessource9...

    Ce qui crée mes erreurs est contenu dans cette partie de code du fichier cité précedemment:
    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
    DECLARE_INTERFACE_(IDirect3DResource9, IUnknown)
    {
        /*** IUnknown methods ***/
        STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
        STDMETHOD_(ULONG,Release)(THIS) PURE;
     
        /*** IDirect3DResource9 methods ***/
        STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
        STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;
        STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;
        STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;
        STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;
        STDMETHOD_(DWORD, GetPriority)(THIS) PURE;
        STDMETHOD_(void, PreLoad)(THIS) PURE;
        STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;
    };
    En fait ce qui est situé entre les acollades, c'est pas ça qui provoque mes erreurs, mais plutôt la première ligne: " DECLARE_INTERFACE_(IDirect3DResource9, IUnknown) "
    Si quelqu'un a des idées, merci de m'en faire part...
    @+++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 23
    Par défaut
    Bon, vu que je ne l'ai peut-être pas précisé, j'essayais jusqu'à présent d'utiliser directX9 (non managé) dans un projet de type "Application Windows Forms" avec Visual C++ .Net, pour faire un éditeur de niveau...
    Mais à l'inclusion de n'importe quel fichier en tête de directX9, dans ma classe windows forms des erreurs qui n'existaient pas jusqu'à présent sont apparues...

    Les questions que je me pose sont donc les suivantes:
    Est-il possible d'utiliser directX9 non managé dans du code managé?
    Faut-il que j'utilise directX9 managé pour pallier à mes problèmes ? ou tout simplement pour pouvoir l'incorporer dans un type de projet comme le mien ?

    En esperant avoir une réponse, merci d'avance...
    @++

    PS: Si je dois utiliser directX9 managé, vous sauriez pas où je pourrais trouver des cours en français dessus ? Sinon je ferais avec la doc du sdk..

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 5
    Par défaut Solution
    salut Tous le monde
    beaucoup de personne ont ce probleme de :
    error C2039: 'GetObjectA' : n'est pas membre de 'System::Resources::ResourceManager'
    Pour resoudre ce probleme il faut rajouter
    #undef GetObject dans le .H du fenetre ou il y a votre image

    exemple :
    //
    // pictureBox1
    //
    #undef GetObject
    this->pictureBox1->Image = (__try_cast<System:rawing::Image * >(resources->GetObject(S"pictureBox1.Image")));
    this->pictureBox1->Location = System:rawing:oint(0, 0);
    this->pictureBox1->Name = S"pictureBox1";
    this->pictureBox1->Size = System:rawing::Size(296, 232);
    this->pictureBox1->TabIndex = 0;
    this->pictureBox1->TabStop = false;
    @++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 23
    Par défaut
    Merci à toi naseeb18 !!
    Je regarderais cela plus tard car je me suis tourné vers une autre solution, pour parvenir à mes fins. Au lieu d'utiliser les windows forms je me suis tourné vers les MFC, même si je l'ai fait avec un peu de regret tout de même, car j'appréciai la facilité des windows forms.
    @++

Discussions similaires

  1. problème d'intégration
    Par leila2006 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 02/05/2006, 16h41
  2. [FLASH MX2004] Problème d'intégration des clips
    Par mosquito dans le forum Flash
    Réponses: 2
    Dernier message: 02/03/2006, 08h59
  3. [XSL/JavaScript]problème d'intégration code JS dans le XSL
    Par Devil666 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/04/2005, 16h36
  4. [eclipse][struts][tomcat] Problème d'intégration
    Par Alwin dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/07/2004, 21h48
  5. Problème d'image avec DirectX9 et c# VS.net...
    Par lilly_lilly dans le forum DirectX
    Réponses: 1
    Dernier message: 02/03/2004, 14h02

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