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

Composants VCL Delphi Discussion :

Optimisation TreeView avec XML


Sujet :

Composants VCL Delphi

Vue hybride

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

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut Optimisation TreeView avec XML
    Bonjour,

    Je travaille sur l'amélioration d'une application (delphi 6) qui utilise le composant treeNT. Cette application est reliée à une bdd MySql et donc son arborescence aussi. ==> Gros souci, ca charge très lentement et l'appli est devenue aujourd'hui pratiquement inutilisable.

    Je tend donc à utiliser des fichiers xml et pourquoi pas remplacer treeNT par un objet plus récent.

    Questions :
    • Est-ce que la gestion de fichiers xml sera plus performante ?
    • Y a-t-il un objet plus performant que treeNT
    • Mon application doit gérer le "Client-Serveur', avec des fichiers xml c'est pratique ?


    Merci par avance de vos remarques et autres suggestion.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Personnellement, je n'utilise que le bon vieu TreeView, et en faisant que les requêtes minimales (un pour la liste des item de 1er niveau, puis une second pour simuler les enfants, cela récursivement, ...)

    ayant essayé deux composants DB TreeView, on se rend compte qu'il y a des logiques différentes, certains en pure relationnel master/detail, d'autre en hiérachique sur une même table, ... je pense que c'est le seul composant que ne peut pas se voir généralisé l'affichage n'étant que vue intellectuelle de données de nature différente ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut
    Merci pour ta réponse.

    Selon toi treeview est plus performant que treeNT ?
    Mon vrai problème c'est bien le souci de chargement, cela peux prendre 1 minute à charger dans mon programme.

    ce que j'aimerai c'est trouver le juste milieux entre performance et fiabilité, je veux pouvoir accéder en client serveur à l'ensemble de mon arborescence tout en ne perdant pas mon temps dans l'utilisation de l'application.

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    As-tu pensé au BeginUpdate et EndUpdate, ensuite, ne charge que les noeuds utiles, puis lors du OnExpanding tu ajoute les noeuds enfant, l'astuce, c'est qu'il faut juste ajouter un faux noeud (la propriété data permet de mettre un pointeur de structure, c'est très utile), puis de supprimer ce faux noeud pour afficher l'ensemble des enfants, en tout cas, j'ai fait cela, pour mon projet de DUT, qui était un Editeur de Base de Registre

    je ne connais pas le TreeNT, pour ma part, j'ai réalisé ceci avec un simple TTreeView
    Images attachées Images attachées  
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. [C#] Rendu du TreeView avec IE
    Par grincheux dans le forum ASP.NET
    Réponses: 15
    Dernier message: 15/06/2005, 18h29
  2. Feuille de style avec XML (pour expert !)
    Par jer_the_one dans le forum Composants VCL
    Réponses: 8
    Dernier message: 11/08/2004, 08h48
  3. Gestion de formulaire avec xml et sans serveur ?
    Par meliane dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/05/2004, 19h57
  4. Comment réaliser des modèles de documentations avec XML ?
    Par Dams76 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 29/08/2003, 02h15
  5. Tree View avec XML et XSL
    Par Drooxy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/04/2003, 10h21

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