Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизНазначение обработчика события потомку класса Найти похожие ветки
← →
TrainerOfDolphins © (2006-02-21 14:18) [0]Уважаемые гуру :)!
Делаю так:
var SomeDBGrid:TDBGrid;
procedure TfmMain.FormCreate(Sender: TObject);
begin
TStringGrid(SomeDBGrid).OnSelectCell:=fmMain.dbgStudentsSelectCell;
<...>
end;
procedure TfmMain.SomeDBGridSelectCell(Sender: TObject; ACol,
ARow: LongInt; var Canselect: boolean);
begin
<действия>
end;
Желаемые действия при клике на дб-гриде выполняются, но сразу вслед за этим возникает
------------------------------------------
exception class EAccessViolation with message "Access violation at address 00000000. Read of address 00000000". Process stopped. Use Step or Run to continue.
---------------------------------------------
Подскажите, плиз, где я лезу не в ту область памяти?
← →
umbra © (2006-02-21 14:20) [1]вот здесь
TStringGrid(SomeDBGrid).OnSelectCell
← →
umbra © (2006-02-21 14:22) [2]
TDBGrid
не является потомкомTStringGrid
← →
McSimm © (2006-02-21 14:23) [3]
> TStringGrid(SomeDBGrid)
Но это же обман. Раз обработчик спрятан, значит что-то в потомке изменено таким образом, что назначать обработчик нельзя. Логично ?
← →
КаПиБаРа © (2006-02-21 14:25) [4]Сначала нужно создать экземпляр класса, а потом с ним работать.
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342
← →
McSimm © (2006-02-21 14:26) [5]Эксемпляр-то создан, в Design-Time
Только экземпляр олного класса, а попытка работать - с другим.
← →
TrainerOfDolphins © (2006-02-21 14:31) [6]Упс. :)
Смотрю - и точно.
А почему тогда канает это:
k:=TStringGrid(SomeDBGrid).Row;
?
← →
КаПиБаРа © (2006-02-21 14:31) [7]McSimm © (21.02.06 14:26) [5]
Не заметил где и когда был создан SomeDBGrid
← →
umbra © (2006-02-21 14:40) [8]потому что у TDBGrid и TStringGrid общий предок -
TCustomGrid
. Но в принципе так извращаться не стоит. Если нужны какие-то свойства предка, не опубликованные в потомке, лучше написать потомка от потомка. :)
← →
TrainerOfDolphins © (2006-02-21 14:52) [9]И прикол в том, что работает, всё выполняет. И только при выходе из обработчика возникает ошибка...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c