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 :

execution de blt dans une methode de classe


Sujet :

DirectX

Vue hybride

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 34
    Par défaut execution de blt dans une methode de classe
    bonjour,
    le programme est sous c++builder4
    je n'arrive pas à effectuer un blt dans une méthode de classe:
    exemple:
    //pDDSSec est le pointeur sur le backbuffer, rectrouleau et rectdigit des RECT et PDDSrouleau le pointeur sur la surface contenant l'image depuis laquelle je copie un rectangle.
    ceci fonctionne normallement dans le programme principal.
    pDDSSec->Blt(&rectrouleau,pDDSrouleau,&rectdigit,NULL,NULL);//charge image dans backbuffer

    //dans la methode de classe qui affiche j'écris :
    pDDSSec->Blt(&mbrectrouleau,pDDSrouleau,&mbrectdigit,NULL,NULL);//charge image dans backbuffer
    la fonction ne s'exécute paset j'obtiens une erreur "ecriture à ladressse 0x0000000". Or , la seule différence est que j'utilise des rectangles membres de la classe (mbrectdigit et mbrectrouleau). en exécutant pas à pas, il semble pourtant que les données correctes sont dans les arguments transmis.

    pouvez-vous m'aider?
    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    Quelle version de DirectX utilise tu ?

    La fonction Blt n'existe plus pour D3D9, seulement pour le GDI

    //acquisition du backbuffer:
    hr=lpD3DDevice->GetBackBuffer(0, 0,D3DBACKBUFFER_TYPE_MONO,&lpD3DBackBuffer);
    if (hr!=D3D_OK)DXTRACE_ERR( "retour Init GetBackBuffer", hr );

    si pDDSSec est un pointeur sur le backbuffer, cette fonction n'existe plus :
    pDDSSec ->Blt(.....)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 34
    Par défaut directx
    merci pour l'info
    j'utilise dx7;
    j'ai solutionné mon problème :
    je n'avais pas créé de pointeur membre sur la surface; étant débutant sur directx, c'est une erreur de débutant.
    merci de ton message
    cordialement

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/01/2010, 15h42
  2. Classe ok dans une methode main, ko dans la servlet
    Par chennuo dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 14/01/2010, 10h51
  3. [POO] appeler une methode de classe dans une fonction
    Par ryykko dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/02/2008, 22h10
  4. Réponses: 21
    Dernier message: 22/10/2007, 10h10
  5. Réponses: 2
    Dernier message: 02/05/2006, 14h34

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