UTILISER LES TOBJECTLIST

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 31 déc. 2002 à 16:26
cs_krzysiu Messages postés 22 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 3 septembre 2011 - 24 févr. 2008 à 15:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12266-utiliser-les-tobjectlist

cs_krzysiu Messages postés 22 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 3 septembre 2011
24 févr. 2008 à 15:11
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.
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
17 févr. 2007 à 10:03
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.
rtournelle Messages postés 1 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 16 février 2007
16 févr. 2007 à 07:06
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.
Utilisateur anonyme
29 mai 2006 à 14:04
C'est curieu, moi aussi jai la meme erreure que JulioDelphi...
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
29 janv. 2005 à 14:51
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)
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
31 déc. 2004 à 10:22
"
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 !?
cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008
8 janv. 2003 à 11:17
J'ai rien a dire :)
Bon Prog DelPhiProg
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
31 déc. 2002 à 17:18
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).
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
31 déc. 2002 à 16:26
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.
Rejoignez-nous