Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.097 c
8-1128691370
sco
2005-10-07 17:22
2006.03.12
Manifest


15-1140355402
Ruban
2006-02-19 16:23
2006.03.12
Ctrl+Z


15-1140432721
kaZaNoVa
2006-02-20 13:52
2006.03.12
Алгоритм ограничения числа запусков программы/времени работы


15-1140255771
Конопелька
2006-02-18 12:42
2006.03.12
Socket Server


3-1134036658
Stealth
2005-12-08 13:10
2006.03.12
MySQL и Multiple-step operation generated errors





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