Bonjour

Voila j'ai un ptit problème.
J'ai un bouton dans une form qui, lorsque je clique dessus créé un tabsheet (jusque 10) de manière dynamique (celui ci est sur un tPage Control créé lui aussi dynamiquement).

voila le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
            var TabSheet : array [0..9] of TTabSheet;
   .........
 
             //creation du composant TTabSheet
             TabSheet[iNombrePage] := TTabSheet.Create(Form1);
             //le tabsheet sera associé au TPageControl
             TabSheet[iNombrePage].PageControl := PageControl;
Jusque la tout va bien. Le problème survient lors de la destruction de ces Tabsheet. En effet sur ma form j'ai également un bouton me permettant de supprimer le TabSheet activé (en cours de visualisation). Lorsque je supprime le deuxime Tabsheet, par exemple, celui ci se supprime mais quand ensuite je veux supprimé de nouveau le deuxieme tabSheet (le troisieme et devenu deuxieme) j'ai une erreur de pointage. Cel viens certainement du fait que le deuxieme élément du tableau a été supprimé deja et je ne peux pas de nouveau le supprimer.

voila mon source pour la destruction du tabsheet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 
     for iCompteur := PageControl.ActivePageIndex to iNombrePage -1 do
        //remonte tout les tabsheet qui suive celui à supprimer
        tabSheet[iCompteur]:= tabSheet[iCompteur + 1];
 
 
     //destruction du dernier abSheet
     tabSheet[iNombrePage].Free;
 
     iNombrePage := iNombrePage - 1;   //correspond au nombre de page de mon tabPage (-1 car on viens dans supprimer 1)
voila je ne comprend pas

Quelqu'un peut il m'aider

Merci d'avance

ps: si vous n'avez pas compris n'hésitez pas à demander car c'est pas facile à expliquer