Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UTILISER LES TOBJECTLIST


Information sur la source

Catégorie :Composants Niveau : Initié Date de création : 30/12/2002 Date de mise à jour : 30/12/2002 23:29:24 Vu / téléchargé: 4 370 / 817

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Objet :
  1- Montrer l'utilisation d'un objet TObjectList de manière sommaire.
  2- Montrer qu'il est beaucoup plus efficace d'utiliser un gestionnaire de
     liste qu'un tableau, fusse-t'il dynamique.

En espérant que votre vision de la gestion d'une collection d'objets changera après celà. Laissons l'utilisation des tableaux de composants aux aficionados de VB.
 

Conclusion

Le code source est abondamment commenté.
L'utilisation d'un TComponentList aurait été plus appropriée, mais il s'agissait de répondre à une question d'un membre de ce forum.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Nono40 le 31/12/2002 16:26:28

Vraiment très instructif ce code !!

Moi qui suis en train de préparer une application contenant une liste de composants créés dynamiquement, cela tombe à pique. J'avais commencé à m'em.... avec un tableau dynamique car je ne connaissais pas TObjectList et TComponentList. Le source encore être simplifié...

Nono.

P.S. Petite remarque, dans la mesure ou tu crées la liste avec TObjectList.Create(True), il n'est pas nécessaire l'appeler ObjectList.Clear avant ObjectList.Free.

P.S.2 il est vrai qu'un TComponentList aurait été plus approprié dans cet exemple, car dans le OnClose des fiches créées tu es obligé de gérer la suppression de la fiche de la liste. Avec un TComponentList la liste serait mise à jour automatiquement quand la fiche est détruite.

signaler à un administrateur
Commentaire de Delphiprog le 31/12/2002 17:18:53 administrateur CS

En effet, le code source pourrait encore être simplifié si l'on supprimait, notamment, toute la gestion visuelle des fiches TFormGraph.
La remarque concernant l'utilisation superflue de ObjectList.Clear est tout à fait exacte dans la mesure où la propriété OwnsObjects est mise à True lors de l'appel du constructeur de ObjectList.

Merci Nono40 pour tes remarques toujours constructives. Je suis heureux que ce code source te fasse gagner du temps dans tes développements en cours. De plus il s'inscrit dans une suite logique sur le code source que tu as publié sur ce même forum mais qui utilisait des TList (un peu moins faciles à manier).

signaler à un administrateur
Commentaire de jado le 08/01/2003 11:17:35

J'ai rien a dire :)
Bon Prog DelPhiProg

signaler à un administrateur
Commentaire de JulioDelphi le 31/12/2004 10:22:06 administrateur CS

"
The requested file dosn't exist. You may create on of the following types instead :
o Create a new form
o Create a new unit
o Create a new Textfile
"

voila ce que j'ai a l'ouverture du dpr, si je supprime les 5 premieres lignes du dpr, le projet s'ouvre mais a la compilation il me demande le "UObjectListMainForm.dcu"
jamais vu ça auparavant !
vu vos commentaires vous n'avez pas eu de soucis ... quelle est la raison de ce soucis !?

signaler à un administrateur
Commentaire de Delphiprog le 29/01/2005 14:51:27 administrateur CS

Je viens de télécharger mon propre projet (un comble) et le compiler et tout est correct (réalisé sous D6, recompilé sous D7).
Tu lui as fait boire quoi à ta souris ? hips 8o)

signaler à un administrateur
Commentaire de mobilotek le 29/05/2006 14:04:17

C'est curieu, moi aussi jai la meme erreure que JulioDelphi...

signaler à un administrateur
Commentaire de rtournelle le 16/02/2007 07:06:23

Meme erreur que JulioDelphi sous Turbo Delphi explorer edition.

J'ai modifié les entrées uses, du fichier ObjectsList.dpr, pour y inclure le chemin du source. Dans mon cas, j'obtiens:
uses
  Forms,
  UFormGraph in 'C:\TobjectList\UFormGraph.pas' {FormGraph},
  UObjectListMainForm in 'C:\TobjectList\UObjectListMainForm.pas' {ObjectListMainForm};

Ce n'est peut être pas très élégant, mais ca marche !!!

Merci pour ce code instructif.

signaler à un administrateur
Commentaire de Delphiprog le 17/02/2007 10:03:38 administrateur CS

RTOURNELLE : merci pour tes observations.
Néanmoins, par curiosité, j'ai chargé le projet dans Turbo Delphi explorer également et je n'ai aucune erreur sans avoir modifié quoi que ce soit, ni dans les options générales, ni dans les options du projet !
program ObjectsList;

uses
  Forms,
  UObjectListMainForm in 'UObjectListMainForm.pas' {ObjectListMainForm},
  UFormGraph in 'UFormGraph.pas' {FormGraph};

Quelque chose m'échappe...
Le comportement de Delphi (6, 7 et Turbo) est quand même étrange puisque toutes les unités du projet sont dans le même dossier.
Bref, si ce code t'a été utile, alors tant mieux.

signaler à un administrateur
Commentaire de krzysiu le 24/02/2008 15:11:32

Je voulais approfondir le TObjectList que je ne connaissais pas il y a peu.
Et voilà que je tombe sur cette source.
Comme toujours, c'est clair.
J'adopte. Comme pour nono40, cela va améliorer la gestion de fenêtre que j'avais mise en place dans un de mes projets.
Merci, pour ce code et de m'avoir mis sur la voie du TObjectList.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.