Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
3-24380
Yakudza
2003-08-15 19:07
2003.09.08
XML


11-24393
Admin_KOL
2002-06-27 17:34
2003.09.08
Старый форум


1-24496
PrettyFly
2003-08-27 10:49
2003.09.08
ListView с фоновым рисунком...


4-24751
Nikkk
2003-07-07 12:22
2003.09.08
IsWindowVisible


14-24645
Digital Man
2003-08-20 17:49
2003.09.08
Список ошибок WINAPI





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский