marutska
Messages postés5Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention15 janvier 2003
-
14 janv. 2003 à 20:21
marutska
Messages postés5Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention15 janvier 2003
-
15 janv. 2003 à 21:29
Boujour !!
Je fais depuis peu de la programmation objet, et je dois dire que je mis perd !
j'ai crée 2 objets TLien et TSommet. TSommet a comme atribut un tableau dynamique de TLien. J'ai un méthode qui doit, entre autre, tester la taille de mon tableau. Or le programme ne marche pas.
Pendant le débogage il m'affiche ce que contient le tableau mais ne veux pas indiquer la valeur de la fonction length(Tab), il dit "valeur inaccessible".
Je sais pas quoi faire, j'ai essayer high à la place et ça donne la même chose. Alors si vous avez une idée ou si vous pensez en avoire une mais que vous ne comprennez pas tout a fait ce que je raconte n'hesitez pas a me doner un coup de pouce. Ah oui, je développe en delphi 5.
marutska
Messages postés5Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention15 janvier 2003 14 janv. 2003 à 21:18
//déclaration de la classe TLien
TLien = class (TObject)
SommetLien:string;
Distance:double;
PRIVATE
procedure EnregistrerLien (SomLien, dist: string);
PUBLIC
constructor Create (SomLien, dist: string);
end;
//déclaration de la classe TGraphe
TSommet = class (TObject)
Sommet : string;
TabArc : array of TLien;
constructor create (som: string); // initialisation de sommet
procedure AjoutLien (Lien:TLien);
end;
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 14 janv. 2003 à 21:55
Oui il faudrait l'implémentation STP de toutes les méthodes : TLien.EnregistrerLien
TLien.create
TSommet.Create
TSommet.AjoutLien
Mais déjà je peux de dire que la déclaration de TSommet n'est pas complète car il faut absoluement créer un destructeur pour libérer les objets du tableau TabArc, sinon la mémoire sera perdue.
Je te repondrais plus en détail avec les implémentations.
--- :sleepy) Nono40@fr.st :sleepy) ---
Nouveau ---> Nono40.fr.st
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 14 janv. 2003 à 23:24
Pourquoi se priver des objets conteneurs tels TObjectList, TCollection et consorts ?
Les tableaux dynamiques sont un pis aller, inefficaces en matière de gestion de mémoire.
constructor TSommet.Create (Som : string);
begin
inherited Create ();
Sommet:=Som;
//Setlength(TabLien,0);
end;
procedure TSommet.AjoutLien (Lien:TLien);
Begin
if high(TabLien)=-1 then
SetLength(TabLien,1)
else
SetLength(TabLien,Length(TabLien)+1);
TabLien[high(TabLien)]:=Lien;
end;
voila, j'espere que ça pourrat t'aider, merci d'avance !!
marutska
Messages postés5Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention15 janvier 2003 15 janv. 2003 à 13:01
Je ne connais pas ces methodes, mais j'i besion de tableau dynamique pour faire le reste de mon programme. J'utilise beaucoup les indices et je ne cherche pas a faire quelque chose de trop compliquer, c pour un dossier a la fac....
merci quand meme je les notes dans un coin au cas où !