[an error occurred while processing this directive]
Господа Дельфишники, нужна хелп :(
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
Котик 19 июля 2006 г. 15:20
|
|
|
|
После полугода писанины на Це :) возник вопрос.
1.Есть объект (нестандартный, наследован от ТОбджект), содержит и методы и поля (стринги):
PPreviewItem = ^TCaRePreviewItem;
TPreviewItem = class(TObject)
file_name : string;
preview_data : array [0..127] of word;
procedure init_item_data(filo: string);
procedure paint_item_data(canvas : TCanvas; r : TRect);
end;2.Есть ТЛист для хранения поинтеров на набор
3.Создаю экземпляры своих объектов, указатели складываю в ТЛист:
...
current_record := TPreviewItem.Create(); //TList.Item
current_record.init_item_data(sr.Name);
files_list.Add(current_record);
...
4.При возникновении надобности обращаюсь к методам:
...
var
current_record : PPreviewItem;
begin
current_record := files_list.Items[ARow];
current_record^.paint_item_data(DrawGrid1.Canvas, Rect);
...
Элементарщина отрисовывается на канве, но когда я внутри paint_item_data обращаюсь к полям экземпляра объекта TPreviewItem, получаю не то чтобы кукиш, но ошибку обращения к адресу...
Собсно вопрос почему не могу обратиться к собственному полю из собственного метода?
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Измените тип current_record с PPreviewItem на TPreviewItem. В Паскале все объекты создаются динамически так что переменная типа TPreviewItem по сути является указателем. — F8 (19.07.2006 17:06 213.130.22.7, пустое)
- Попробуй так (+) — vladvash (19.07.2006 16:38 194.158.204.49, 443 байт)
- Покажи текст процедуры paint_item_data. (+) — vladvash (19.07.2006 16:26 194.158.204.49, 197 байт)
- Попробуй так: TPreviewItem(files_list.Items[ARow]).paint_item_data(DrawGrid1.Canvas, Rect); — 630 нм (19.07.2006 16:26 159.93.44.111, пустое)
- В приведённом тексте не видно объявления TCaRePreviewItem, на который указывает PPreviewItem. Может в эту сторону покопать? (-) — BoolAB (19.07.2006 16:02 81.177.83.154, пустое)
- Возможно, тут что-то связано с указателями. Был бы Builder - было бы понятнее, лично для меня. — _Bill (19.07.2006 15:40 193.233.83.66, 26 байт)
- Или все уже только о политке базарят и модератор щас ветку вырежет? ;) — Котик (19.07.2006 15:36 81.91.34.246, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание