Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2009, 00:03   #11
Нюська
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 16
По умолчанию

Текст компоненты:

unit ComboBox1;

interface

uses
SysUtils, Classes, Controls, StdCtrls, forms;

type
TComboBox1 = class(TComboBox)
private

protected
procedure Select; override;
public
constructor Create(AOwner: TComponent); override;
published

end;

var combobox11:tcombobox1;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TComboBox1]);
end;

constructor tComboBox1.Create(AOwner: TComponent);
var i:byte;
form1:tform;
begin
inherited;
form1:= AOwner as tform;
for i:=0 to form1.ComponentCount-1 do
begin
AddItem(form1.Components[i].Name,form1.Components[i]);
end;
end;

procedure TComboBox1.Select;
var obj:TWinControl;
begin
obj:=Items.Objects[ItemIndex] as TWinControl;
obj.Parent:=self;
obj.Visible:= not obj.Visible;
end;

end.

я переопределяю только 2 процедуры родителя.
Нюська вне форума Ответить с цитированием
Старый 27.05.2009, 00:26   #12
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Конечно же проблема в родителе, т.к. на момент вызова AddItem он не выставлен, Самый простой вариант вынести код
Код:
form1:= AOwner as tform;
for i:=0 to form1.ComponentCount-1 do
begin
AddItem(form1.Components[i].Name,form1.Components[i]);
end;
в отдельную процедуру и вручную вызывать её после создания компонента.
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 27.05.2009, 00:35   #13
Нюська
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 16
По умолчанию

спасибо огромное за помощь!!!
Нюська вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при работе с потоками( _SeRGeaNT_ Общие вопросы C/C++ 2 11.01.2009 14:50
Ошибка при работе с структурой Nullator Общие вопросы C/C++ 11 07.03.2008 23:52
Ошибка при работе с файлом LeoN Общие вопросы Delphi 1 07.12.2007 15:21
Ошибка при работе с БД malevich БД в Delphi 8 25.11.2007 15:10