Главная страница
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.019 c
11-24397
AlexG
2003-01-03 14:17
2003.09.08
Базы!


3-24313
Buka
2003-08-14 22:52
2003.09.08
Locate в ADO? Работает ли?


7-24728
bkv
2003-06-25 12:49
2003.09.08
Вызов функций MAPI из сервиса.


1-24520
Коля
2003-08-27 02:25
2003.09.08
ReplaceStr


9-24292
Карлсон
2002-12-15 14:53
2003.09.08
GLScene