Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
6-24571
venoel
2003-07-06 21:41
2003.09.08
Формирование картинки на сервере


14-24657
Vlad Oshin
2003-08-20 14:10
2003.09.08
Целоваться на прощание бум?


14-24633
DeMoN-777
2003-08-21 14:03
2003.09.08
Структура БД


3-24305
demonyator
2003-08-18 17:39
2003.09.08
Order by и редактирование...


3-24381
Alexei Sviridov
2003-08-15 02:31
2003.09.08
DBGrid




   Наверх