Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Назначение обработчика события потомку класса   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.105 c
3-1137255604
maxxa144
2006-01-14 19:20
2006.03.12
альтернатива array полям.


4-1134920592
ArtemESC
2005-12-18 18:43
2006.03.12
Панели...


2-1140681629
VitV
2006-02-23 11:00
2006.03.12
Смена цвета кнопки


9-1126069315
4ECHOK
2005-09-07 09:01
2006.03.12
Сценарий поведения объекта.


15-1140335748
Ega23
2006-02-19 10:55
2006.03.12
С Днём рождения! 19 февраля