Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1594 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Problème de collection

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de collection

n°753024
Hell2405
Posté le 04-06-2004 à 19:54:18  profilanswer
 

Bonjour,
 
Je travaille toujours sur une application objet.
J'ai trois classe TEditeur, une classe Tlivre et une classe Tauteur
 
- Dans ma classe Tediteur, j'ai une collection de Tlivre (Leslivres)
- Dans ma classe Tlivre, j'ai un pointeur vers Tediteur (Unlivre)
- Dans ma classe Tlivre, j'ai aussi une collection de Tauteurs (Lesauteurs)
- Dans ma classe TAuteur, j'ai une collection de livre (Lesecritures)
 
J'utilise des TOBJECTLIST pour mes collections
Ce qui donne en uml :
 
Editeur 1 1..* Livre 1..* 1..* Auteur
 
- Un editeur possède un ou plusieurs livres
- Un livre possède un seul éditeur
- Un livre possède un ou plusieurs auteurs
- Un auteur possède un ou plusieurs livres
 
Je souhaiterai supprimer un livre.
 
* Je dois donc avant de supprimer mon objet livre, pour chaque auteur supprimer de la collection Lesécritures ce livre.
 
* Puis je dois ensuite supprimer ce livre de la collection Leslivres de l'auteur du livre.
 
* Enfin, je dois détruire mon objet livre...
 
Mon probleme est que lorsque je supprime le livre de ma collection lesécritures, le livre se supprime de toutes mes autres collections mais il se supprime pas correctement car lorsque je regarde par exemple le nombre d'élément de ma collection Leslivres de la classe EDITEUR, il indique toujours le même nombre d'élémént avant et apres la suppression...
 
Comment faire pour supprimer l'objet Livre de toutes mes collections?
Si j'essaye de supprimer l'objet livre de l'éditeur, j'ai ce message d'erreur : opération de pointeur incorrecte
 
Merci d'avance pour votre aide.

mood
Publicité
Posté le 04-06-2004 à 19:54:18  profilanswer
 

n°755860
auredauv
Posté le 08-06-2004 à 10:01:59  profilanswer
 

ton modèle UML semble tout à fait correcte
le problème se situe dans la prog
1 : quel version de delphi ?
2 : quel tobjectlist utilises-tu?
 

n°755874
auredauv
Posté le 08-06-2004 à 10:08:35  profilanswer
 

3 : si tu as les tstringlist, je te conseil de les utiliser, c'est facile, sinon, alloue carrément des tableaux dynamiques toi-même
4 : en toute logique : tu dois libérer le pointeur dans le tableau avant de libérer l'objet (or si tu as encore l'ancien nombre count et que tu n'arrives pas à atteindre ton objet, c'est plutôt que tu as déjà libéré ton objet)
5 : quand tu décides de libérer un objet, tu dois rajouter du code dans les événements ondestroy pour que la libération se fasse correctement, et ainsi tu pourras correctement remettre à jour tes listes d'objets
6 : dans les listes d'objets, tu n'es pas obligé de pointer directement vers l'objet, mais tu peux mettre un index à tes objets et ainsi tu pointes vers l'index de l'objet (c'est facile à mettre en place et souvent utilisé par les programmeurs, comme ça tu n'as plus jamais le problème "opération de pointeur incorrecte", mais ça fait un peu moins académique)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Problème de collection

 

Sujets relatifs
Probleme avec le .profile (sous Suse linux)probleme de reaffichage dans un shell deja ouvert[SWT]
[JFreeReport]Problème d'affichage de l'entete ???????Probleme mise en page html a cause de photos
Problème avec une variable !![css] problème de position de menu
Problème xpath : compter le nombre de noeud ?Probleme de session lors des redirections
problème d'affichage dans un calque[Collection] Compilation ok mais execution probleme!
Plus de sujets relatifs à : Problème de collection


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR