Bonjour
Avec BCB 6.0
Dans une application MDI la plus simple possible, que je crée en utilisant l'expert du Borland pour une appli MDI standard, donc j'ai le squelette de base, sur lequel je ne modifie que ceci :
je veux passer un paramètre à chaque fenêtre enfant MDI, donc je modifie le constructeur de la classe comme ceci :Et pour l'appel ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 __fastcall TMDIChild::TMDIChild(TComponent *Owner, char afftype) : TForm(Owner) { Memo1->Lines->Add("afftype = " + AnsiString(afftype)); }Si je passe un char comme paramètre, c'est parait bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 TMDIChild *Child; Child = new TMDIChild(Application, 'z');
Mais si je modifie pour passer un entier (int), j'ai une exception de débordement de pile à la création de la fiche enfant. Le déboggueur m'indique la lignedans le fichier forms.hpp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 /* TCustomForm.Create */ inline __fastcall virtual TForm(Classes::TComponent* AOwner) : TCustomForm(AOwner) { }
Je cherche à comprendre pourquoi. Est-ce que je fais une erreur qq part ?
Est-il interdit de passer un paramètre au constructeur d'une fenêtre MDI enfant ?
Si vous avez une idée....
Merci
Partager