Bonjour,

A la fermeture d'une fenetre, je tente de détruire tout ses composant en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
i := ComponentCount-1;
  While i > 0 do begin
        if Components[i].Owner.Name = Self.Name then Begin
          try
           Components[i].Destroy;
           i := ComponentCount-1;
          except
          end;
 
        end Else
          Dec(i);
  End;
L'erreur "EAccessViolation" apparait, Mes composants sont créés dynamiquement, et il semble que cette erreur vienne d'un acces à la memoire qui n'existe pas...
mon application travail en local et en reseau, il se trouve que cett erreur ne se produit qu'a la fermeture d'un dossier reseau (mais je ne vois pas pourquoi).

Petit test réalisé, les EAccessViolation semble apparaitre pour la destruction de composant de type "PageCOntrol"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Components[i].name;
m'a retourné des noms de composant de type: PC_4, PC_3 PC_2...
mais je n'arrive pas à les identifier d'avantage. Y-a-t-il une methode pour trouver d'avantages d'infos sur ses composants?

quels tests puis-je faire pour resoudre ces problemes d'acces memoire ou trouver quels composants son innaccessibles???

merci pour toute idee pour avancer

a bientot

eric