erreur du type : "le composant "" n'a pas de fenetre parente" à l'insertion dans une fiche...
alors, après reflexion : est-ce qu'il existe un fonction appelée par delphi lorsqu'il a fini d'insérer un composant dans une fiche ?
mais il faudrait que cette fonction ne soit appellée qu'à la conception(insertion dans une fiche et non pas à l'execution(execution du programme contenant une fiche utilisant ce composant)...
bon je vous laisse une partie du code du composant au cas où ça vienne de là...
TExamListCheckView= class(TPanel, IExamList
checkList: TCheckListBox;
panTitre: TPanel;
titre: TLabel;
[...]
published
propertry aExmLstListWidth: integer read listWidth write setListWidth default 150 ;
property aExmLstListHeight: integer read listHeight write setListHeight default 87;
constructor TExamListCheckView.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
// je donne bien des parents à tout mes composants :
panTitre := TPanel.Create(self);
titre := TLabel.Create(panTitre);
checkList := TCheckListBox.Create(self);
panTitre.InsertControl(titre);
InsertControl(panTitre);
InsertControl(checkList);
titre.Caption := 'Vaisseaux sélectionnés';
titleFont := TFont.create;
listFont := TFont.create;
checkList.OnClickCheck := onClickCheckProc;
OnResize := onResizeProc;
// j'ai rajourté ces quatres lignes pour voir si ça marchait mieux...
checkList.width := 150;
checkList.height := 87;
listWidth := 150;
listHeight := 87;
addExam('Vaisseaux selectionné 1 D'
;
addExam('Vaisseaux selectionné 1 G'
;
end;
// procedure addExam :
procedure TExamListCheckView.addExam(examName: string);
begin
checkList.Items.Add(examName);
end;
l'erreur viens de addExam... si j'enlève les deux addExam du create, le composant s'insère bien dans la fiche et on voit tous les controls, preuve que le panel de titre, le titre et le checkboxlist ont bien été inséré !
à l'éxution, pas de pb non plus... on peut même appelé addExam à l'execution...
alors, le truc bysarre, c que si je compile sans addExam dans le create, je peux à l'éxecution appeler la fonction addExam dans la fiche crée...
puis ensuite, si je recompile le composant en ajoutant addExam dans le create de celui ci sans supprimer son instance auparavent créée dans la fiche, 'Vaisseaux selectionné 1 D' et 'Vaisseaux selectionné 1 G' apparaissent bien dans la liste... !!
comment résoudre ce pb ?
[jfdsdjhfuetppo]--Message édité par Moustaaki--[/jfdsdjhfuetppo]