Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.08;
Скачать: CL | DM;

Вниз

Работа с классами   Найти похожие ветки 

 
Rel_   (2003-08-28 11:47) [0]

type
TField = class(TCustomControl)
private
public
constructor create (AOwner : Tcomponent); override;
end;

TPoint = class(TObject)
private
FFieldPtr: Pointer;
public
procedure DrawPoint();
constructor Create(_FField: Pointer);
end;

{TField}
constructor TField.create (Aowner : TComponent);
var
Pnt: TPoint;
begin
Pnt := TPoint.Create(Self);
end;

{ TPoint }
constructor TPoint.Create(_FField: Pointer);
Begin
FFieldPtr := _FField;
end;

procedure TPoint.DrawPoint;
var
FDC : HDC;
FField : TField;
begin
FField := TField(FFieldPtr);
FDC := GetDC(FField.Handle);
...
end;

----------
Создаю класс TField, в конструкторе которого создаю
класс TPoint в конструкотр которого передаю указатель
класса TField. В отрисовщике пытаюсь обратиться к
переданному указателю, но вылетает Inaccessible type
после FField := TField(FFieldPtr).

TField энто же по сути дела не объект а указатель на него. Неужели следует разыменовывать FField := TField(FFieldPtr^) ??? - кстати, здесь тоже вылетает ошибка.

Подскажите плиз, что делаю не так?


 
Skier ©   (2003-08-28 11:50) [1]

1) в constructor TField.create (Aowner : TComponent); отсутствует
inherited
2) класс TPoint лучше переименовать, т.к. в Delphi уже есть тип TPoint


 
Rel_   (2003-08-28 11:56) [2]

Спасибо, ща попробую !!!


 
Rel_   (2003-08-28 11:58) [3]

Попробовал. Всё равно ошибка вылетает.


 
Skier ©   (2003-08-28 11:59) [4]

>[3] Rel_ (28.08.03 11:58)
Код полностью !


 
ZoKr   (2003-08-28 12:00) [5]

TField кстати тоже есть в Delphi(базы данных)...


 
Skier ©   (2003-08-28 12:01) [6]

>ZoKr (28.08.03 12:00)
Угу. Точно. Проглядел...


 
han_malign ©   (2003-08-28 12:04) [7]

А почему бы не заменить Pointer на TField??? ИМХО - это правильней, с точки зрения отлова ошибок на этапе компиляции...



Страницы: 1 вся ветка

Текущий архив: 2003.09.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
14-24650
Marser
2003-08-20 03:07
2003.09.08
И как вам это?


1-24546
Андрей Сенченко
2003-08-26 16:29
2003.09.08
Нужно описание подводных камней.


7-24726
Diamond Dog
2003-06-25 19:35
2003.09.08
Отключение выбора режима загрузки винды при нажатии F8


14-24640
Прохожий
2003-08-21 08:32
2003.09.08
---|Ветка была без названия|---


1-24420
Pindos
2003-08-25 20:55
2003.09.08
Proxies - нет у меня такого!!!