Probleme avec un TabSheet créé dynamiquement?
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:
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:
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