Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Контролы...

449
19 ноября 2001 года
Fantasist
124 / / 20.06.2000
Привет всем, это опять я.

Значит так.Есть мой компонент (насл. от TImage) в который я включаю контрол для захвата фокуса(Anchor) (дабы на кнопки реагировать).

TAnchor = class(TWinControl)
//Просто публикуем события
public
property OnKeyDown;
property OnKeyPress;
end;

TCombineSurface = class(TDrSurface)
private
Anchor:TAnchor;
.
.
protected
procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
procedure KeyPress(Sender: TObject; var Key:Char);
.
.
end;

constructor TCombineSurface.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
Anchor:=TAnchor.Create(AOwner);
Anchor.Parent:=TWinControl(AOwner);
Anchor.Top:=0;
Anchor.Left:=0;
Anchor.Width:=1;
Anchor.Height:=1;
Anchor.OnKeyPress:=KeyPress;
.
.
end;

procedure TCombineSurface.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if not(Drawn) then
begin
MoveTo(x,y);
Anchor.SetFocus;
end;
inherited MouseUp(Button,Shift,X,Y);
end;

когда я кладу такой компонент на форму, все нормально, и компилиреутся без ошибок, но в файле формы появляется такая запись:

object TAnchor
Left = 0
Top = 0
Width = 1
Height = 1
end


как видите даже без имени, один тип, и при исполнении получаю сообщение:

Project1.exe raised exception EClassNotFound with message "Class TAnchor not found". Process stoped.


При дебагении, видно, что exception происходит при выходе из конструктора TCombineSurface.Create(AOwner:TComponent);

Что вы можете сказать по этому поводу?

P.S. Самое интересное, что при первом испытании работало нормально.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог