Newsgroup: it.comp.lang.delphi
Titolo: TComboBox creato a runtime

Ciao a tutti,
è da questa mattina che mi sto rincoglionendo con un problema a cui, per 
ora, non vedo soluzione.
Premessa... devo creare un controllo derivato da un tpanel che ha al suo 
interno una serie di altri controlli compreso un tpanel ed un tcombobox.
La creazione è questa (constructor create):
   // ------------------------------------------
   // Creazione componente di base
   // ------------------------------------------
   InHerited Create(AOwner);
   // ------------------------------------------
   // Dimensioni standard componente
   // ------------------------------------------
   Width      := 250;
   Height     := 28;
   BevelInner := bvLowered;
   Caption    := '';
   .... seguono altri create che funzionano benissimo .....
         // ------------------------------------------
         // Pannello contenitore
         // ------------------------------------------
         TP            := TPanel.Create(Self);
         TP.Parent     := Self;
         TP.Top        :=   2;
         TP.Width      := 111;
         TP.Height     :=  24;
         TP.BevelInner := bvLowered;
         TP.Caption    := '';
         TP.Left       :=  23+(TP.Width)*(I-1);
         // ------------------------------------------
         // Lista dei tipi di flaconi possibili
         // ------------------------------------------
         TC                := TJvComboBox.Create(TP);
         TC.Parent         := TP;
         TC.Left           := 55;
         TC.Top            :=  2;
         TC.Width          := 54;
         TC.Height         := 21;
         TC.Style          := csDropDownList;
         TC.ItemHeight     := 13;
         TC.Name           := 'ETipo'+IntToStr(I);
   .... seguono ancora altri create che funzionano benissimo .....
Alla fine devo settare alcune items di default nel componente TC ma se 
eseguo TC.Items.Add oppure TC.Items.Clear oppure TC.Clear viene generato 
il messaggio Control "" has no parent window
Se non tocco le items va tutto bene ma a me servono
Dal debug la proprietà items NON ritorna nil
Qualche idea? - Uso Delphi 2006 Professional update 2 e Windows 2000 
service pack 4-
Nota finale... Il nome dei componenti l'ho inserito solamente per vedere 
se il messaggio di errore ritornava il nome di quello che ha generato 
l'errore ma nulla
Ciao,
David

A proposito... dal codice noterete che ho usato TJvComboBox al posto di 
TComboBox. L'ho fatto solamente per verificare se il problema era con il 
ComboBox standard ma è uguale

 Qualche idea?
Un frame?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

No frame proprio no. Il componente deve essere gestibile come un 
qualsiasi altro componente di Delphi e integrato nella Palette.

 qualsiasi altro componente di Delphi e integrato nella Palette.
Posso chiederti il perché? (è solo curiosità).


E' per un progetto in ufficio ed il componente deve essere usato da più 
sviluppatori secondo alcune specifiche di base, ed in queste una dice: 
Nessun frame deve essere usato{..}.
Comunque quello che non capisco e' il perchè non posso accedere alla 
proprietà items di un controllo creato a run time. Mi pare assurda come 
cosa ma magari sbaglio qualcosa, anche se non riesco a capire cosa

Risolto.....
se a qualcuno interessa nella procedura Create e dopo la linea
InHerited Create(AOwner);
bastava aggiungere
Parent := TWinControl(Aowner);
e tutto andava bene.
Il no parent non era relativo al Tpanel contenitore secondario ma al 
TPanel primario
Vabbè sbagliando si impara,
ciao