Bonjour à tous

Je me bats depuis 3 jours avec un PageControl.ActiveIndex qui refuse de fonctionner. Voici l'environnement

Une forme A appelle une forme B
La forme A peut appeler la forme B de 2 manières :
soit pour ajouter des enregistrements dans une table
soit pour modifier un enregistrement de cette table

Il y a donc deux boutons : Ajout et Modification

La forme B contient un PageControl avec 3 Tabsheet
A chaque appel de la forme B, je force son Pagecontrol1.Activeindex à 0

J'appelle la forme B par le bouton Ajout --> j'arrive sur le TabSheet 0
Je ferme la forme B et reviens sur A
J'appelle la forme B par le bouton Modifier --> j'arrive sur le TabSheet 0
Je ferme la forme B et reviens sur A

J'appelle la forme B Par le bouton Ajout, et lorsque je suis sur le Tabsheet 0, je clique sur le Tabsheet 1
Je ferme la forme B et reviens sur A
J'appelle la forme B par le bouton Modifier --> j'arrive sur le TabSheet 3

J'ai vérifié que, à chaque appel de la forme B je passais bien par fromCreate et c'est dans le formCreate que je force PageControl1.activeindex = 0

J'ai mis deux TEdit qui contiennent l'un l'index de page dans le FormCreate et l'autre l'index de page dans le FormShow. Tous deux affichent 0, même lorsque c'est le Tabsheet 3 qui est visible.

Si je mets un point d'arrêt dans le FormCreate, j'arrive toujours sur le Tabsheet 0 lorsque j'appelle la forme B par le bouton Modifier. Dès que j'enlève le point d'arrêt, c'est le TabSheet trois qui s'affiche !

L'inverse est aussi vrai. Si je commence par appeler la forme B par le bouton Modifier, que je clique sur le Tabshheet 3 et que j'en sors, je vais arriver sur le tabsheet 3 lors de l'appel par le bouton Ajouter.

Avec toujours les deux Tedit contenant la valeur zéro

et cela commence à faire mal au front !