Merci pour ton aide
J'ai finalement choisi d'utiliser une TObjectList car j'avais vraiment besoin d'un index qui correspond et à une feuille et à un autre élément.
J'ai une autre question :
je n'arrive pas à libérer la mémoire du tobjectlist de maniere à pouvoir reecrire par dessus
J'ai essayé
someObjList.free;
someObjList:=nil;
for i:=0 to x
someObjList.delete(i);
someObjList.clear;
mais je n'arrive vraiment pas à réécrire par dessus apres.
Merci encore

-------------------------------
Réponse au message :
-------------------------------
> Pour info, la variable Screen de type TScreen contient déjà un tableau des fiches présentes à l'écran dans une de ses propriétés (Screen.Forms).
>
> Il suffit donc de créer une procédure dans ta fiche principale à laquelle tu passes comme paramètre la référence Sender reçue dans tes fiches TFormGraph.
>
> Supposons que l'unité déclarant Fom1 de type TForm1 soit nommée UForm1 et que la déclaration de la classe de la fiche TFormGraph soit contenue dans UFormGraph :
>
> procedure TForm1.MaProc(Sender : TObject);
> begin
>
> end;
>
> Ensuite, dans cette procédure, tu exploites cette référence de la manière suivante :
> begin
> With TFormGraph(Sender) do
> begin
> ...
> end;
> end;
>
> Bien entendu, il te faudra déclarer l'utilisation de l'unité UFormGraph dans UForm1 mais aussi UForm1 dans UFormGraph.
>
> Supposons que tu gères l'évènement double clic dans la classe TFormGraph, alors tu transmets la référence à la procédure déclarée dans UForm1 :
>
> procedure TFormGraph.FormGraphDblClick(Sender: TObject);
> begin
> UForm1.MaProc(Sender);
> end;
>
> Ainsi, tu disposes d'une référence sur la fiche de type TFormGraph qui a appelé la procédure.
>
> Il me semble donc inutile de maintenir un tableau, même dynamique. Au pire, utilises une propriété de type TObjectList.
>
> Maintenant, je vais essayer d'expliquer pourquoi ta solution ne peut pas fonctionner, mais effectuons d'abord quelques rappels :
>
> 1/- Sender est une référence (un pointeur) sur l'objet qui a déclenché un évènement.
>
> 2/- Tableau est un tableau contenant des objets de type TFormGraph. En aucun cas, il ne contient de référence sur les objets qu'il stocke. Il permet tout juste d'accèder aux propriétés et méthodes des objets sur lesquels il pointe. Il stocke une copie des TFormgraph.
>
> C'est surtout cette dernière remarque qui me fait dire qu'il ne sert à rien de stocker les fiches créées dans un tableau.
>
>
>
May Delphi be with you>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour à tous
> >
> > Voilà, je crée des fenêtres dynamiquement à partir d'un type de fenetre que j'ai appeleé FormGraph enfin peu importe...
> > Le fait est que je crée un nombre indéfini de fenetres de ce type. A chaque fois qu'une fenetre est crée, elle est stoquée dans un tableau de form. Lors d'un évenement, j'ai besoin de connaitre les caractéristiques de la form en question pour la comparer à celles stoquées dans le tableau
> >
> > Comment je peux donc identifier une form?
> > j'ai essayé tableau[i]=sender, tableau[i]=formgraph, de le faire à partir du caption qui est différent pour chaque form, ... mais rien n'y fait, il semble que les données ne se présentent pas de la meme maniere.
> >
> > Quelqu'un peut-il m'expliquer ce phenomène que je n'arrive vraiment pas à comprendre et me proposer une solution ?
> >
> > Merci d'avance et bonnes fetes
> >
> >
>