![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при создании ComboBox. [D7, WinXP]
Rolf © (2005-10-11 13:55:00)При создании наследника TComboBox появляется ошибка: Project raised exception class EInvalidOperation with message "Control "" has now parent window".
type
TCmbBoxNew = class(TComboBox)
public
constructor Create(AOwner: TComponent); override;
end;
constructor TCmbBoxNew.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
with Items do
begin
Add('a'); // <- error
Add('b');
Add('c');
end;
end;
Подскажите что делать?
Leonid Troyanovsky (2005-10-11 14:17:00) [1]
> Rolf (11.10.05 13:55)
> При создании наследника TComboBox появляется ошибка: Project
> raised exception class EInvalidOperation with message "Control
> "" has now parent window".
..
> Подскажите что делать?
Лучше заполнять список не в констукторе, а, например, в
procedure CreateWnd; override; т.е., после inherited.
--
Regards, LVT.
Digitman (2005-10-11 14:06:00) [2]
> что делать?
обеспечить указанные в сообщении об ошибке требования по обязательности определения род.окна перед обращением к списку.
например,
procedure TForm1.Button3Click(Sender: TObject);
begin
TCmbBoxNew.Createparented(self.Handle);
end;
не должно вызвать подобного исключения, в отличие от
procedure TForm1.Button3Click(Sender: TObject);
begin
TCmbBoxNew.Create(...);
end;
Ega23 (2005-10-11 14:01:00) [3]Parent надо указать.