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

C++Builder Discussion :

ListView->Items->Clear() !!! Qques probl de perf [Trucs & Astuces]


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut ListView->Items->Clear() !!! Qques probl de perf
    Hello,

    Voici mon probl :

    1) Pour "vider" ma ListView, j'utilise ListView->Items->Clear(); . Ca marche correctement sauf que ....

    Qd je fais je "charge" la ListView pour qqes 3000 Items et que je fais defiler le contenu de cette liste.... puis qd je fais Clear() ... ca prend un tps fou !!! environ 2/3 s !!! Le tps que ts les ITEMS soient effaces !

    J'utilise AllocBy afin d'allouer en bloc la memoire dispo.

    MA QUESTION :
    comment ameliorer cette performance ? via une autre methode ?

    Avis aux connaisseurs !

    Merci

    Nicolas

  2. #2
    Membre chevronné
    Avatar de Geronimo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 156
    Points : 1 969
    Points
    1 969
    Par défaut
    Essaie de mettre ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LockWindowUpdate(ListView1->Handle);
    ListView1->Items->Clear();
     
    LockWindowUpdate(0);
    En effet, ce qui prends du temps, c'est la mise à jour graphique de la fenêtre. Peut-être que cela résoudra ton problème ?
    Une question concernant C++Builder ? Voici la réponse
    Consultez aussi les tutoriels de qualité de la section C/C++

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Cela fonctionne nettement mieux en effet !

    Une question : cette ligne de code ne devrait -t-elle pas empecher la mise a jour de la ListView designee uniquement. En fait ce la me blque la mise a jour de mes deux ListViews (qui sont ds la meme Form).

    Nicolas

  4. #4
    Membre chevronné
    Avatar de Geronimo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 156
    Points : 1 969
    Points
    1 969
    Par défaut
    Normalement, ca doit bloquer uniquement la mise à jour de ListView1, mais le LockWindowUpdate(0); remet tout l'écran à jour.
    Une question concernant C++Builder ? Voici la réponse
    Consultez aussi les tutoriels de qualité de la section C/C++

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

Discussions similaires

  1. MVVM ListBox/ListView Selected Item
    Par gridin dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 03/02/2011, 09h51
  2. listview sorting item fixe
    Par ouiouioui dans le forum Langage
    Réponses: 1
    Dernier message: 15/11/2009, 15h54
  3. Listview récupérer Item
    Par toutyx dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/06/2007, 18h04
  4. [VB6] ListView ajout Item
    Par storm_2000 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/12/2006, 08h32
  5. [D7][TreeView/ListView] Combien d'items possibles ?
    Par phplive dans le forum Composants VCL
    Réponses: 6
    Dernier message: 09/04/2003, 22h40

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