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 :

[MFC]Plus d'affichage après 10000 affichages


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut [MFC]Plus d'affichage après 10000 affichages
    Désoler de squater quelque peu le forum avec mes questions à la c.. (Merci d'aider les débutants )

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    CBitmap Gus,MemAAff,tmp,Banc;
    CDC MemDC,MemDCBuffer;
     
    CDC *pDC=this->GetDC();
     
    //(...)
     
    Gus.LoadBitmap(IDB_GUS);
     
    BITMAP InfosBmp;
    Gus.GetBitmap(&InfosBmp);
     
    MemDCBuffer.CreateCompatibleDC(pDC);
    MemDC.CreateCompatibleDC(pDC);
     
    MemAAff.CreateCompatibleBitmap(pDC,640,480);
    CBitmap* pOldBmp = MemDC.SelectObject(&MemAAff);
     
    //(...)
     
     
    //Preaffichage en memoire
     
    CRect crect;
    crect.SetRect(0,0,640,480);
    MemDC.FillSolidRect(&crect,RGB(255,255,255));//fond blanc
     
    MemDCBuffer.SelectObject(&Gus);
    MemDC.PlgBlt(Points,&MemDCBuffer,0,0,InfosBmp.bmWidth, InfosBmp.bmHeight,tmp,0,0);//Affichage du gus
     
    tagPOINT PointsPlg[4];
    PointsPlg[0].x = xcentrerot-dist_bas - 4;
    PointsPlg[0].y = 480;
    PointsPlg[2].x = xcentrerot+dist_haut - 4;
    PointsPlg[2].y = 0;
    PointsPlg[1].x = xcentrerot-dist_bas + 4;
    PointsPlg[1].y = 480;
    PointsPlg[3].x = xcentrerot+dist_haut + 4;
    PointsPlg[3].y = 0;
     
    CBrush brA;
    brA.CreateSolidBrush( RGB(102, 102, 204) );
    CRgn Rgn;
    Rgn.CreatePolygonRgn(PointsPlg,4,ALTERNATE);
    MemDC.FrameRgn( &Rgn, &brA, 4, 4 );		//Affichage de la ligne
     
    //Affichage de l'image memoire	
    pDC->BitBlt(20,20,640,480,&MemDC,0,0,SRCCOPY);
     
    //(...)
     
    MemDC.SelectObject(pOldBmp);
    DeleteObject(MemDC);
     
    ReleaseDC(pDC);
    Mon pb c'est que lorsque je repète ce code environ 10000 fois, il ne m'affiche plus que du blanc. Pourtant mon progamme tourne toujours ... Il fait tout comme il faut sans l'affichage.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    quel est le contexte d'execution de ce code ?
    dans une boucle ? ,a quel endroit ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    Sur un evenement de click sur un bouton réutiliser dans un timer !

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    Comme ça au premier abord rien ne me choque.
    Pistes de recherche:
    Vérifier dans le gestionnaire des taches si il n'y a pas de fuite GDI intempestives.
    Vérifier que les coordonnées soient toujours valides.
    Attention si la fréquence d’affichage est trop élevée il y a un risque pour que l’affichage ne s’effectue plus.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    Vérifier que les coordonnées soient toujours valides.
    Ils sont bien placé les 10000 premières donc je ne pense pas. En plus, l'appli continue à me retourner des données correctes

    Attention si la fréquence d’affichage est trop élevée il y a un risque pour que l’affichage ne s’effectue plus.
    1 image toutes les 0,15s, je ne pense pas que ce soit trop rapide

    Vérifier dans le gestionnaire des taches si il n'y a pas de fuite GDI intempestives.
    Perte de 4 Ko/s ... oops!!
    Je penses que je vais plus regarder par là ! Mais j'ai aucune idée de quoi ça peu venir.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    ça veniat bien de la fuite ....

    Merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/08/2009, 17h38
  2. [Menu] Problème d'affichage après redirection
    Par Pfeffer dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/03/2006, 21h04
  3. [PowerBuilder] Prob. d'affichage après insertion de contrôle
    Par Oakenshield dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 30/01/2006, 14h37
  4. Evénement après l'affichage d'une Form
    Par nikhil dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/06/2005, 13h57
  5. Pb d'affichage apres une liste déroulante
    Par loic.440 dans le forum ASP
    Réponses: 13
    Dernier message: 19/01/2005, 14h28

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