Главная страница
    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.45 MB
Время: 0.007 c
14-24624
Maks
2003-08-22 08:30
2003.09.08
Помогите разобраться


1-24460
SPIRIT
2003-08-28 08:55
2003.09.08
Гавной форму сделать другую


1-24533
Lina
2003-08-26 14:51
2003.09.08
ListView


3-24370
P0tia
2003-08-16 13:08
2003.09.08
Сортировка


3-24328
Dush
2003-08-18 16:17
2003.09.08
Помогите со структурой таблицы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский