Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
ВнизКто нить знает что это за ошибка? Найти похожие ветки
← →
Arhangel (2002-10-09 18:54) [0]Я пишу прогу с использованием LMDTools (в частности LMDButtonBar), так вот, у меня в проге есть такой текст:
.........
l1.Sections[0].Items[z].OnClick:=cl;
.........
procedure Tform1.cl(Sender:Tobject);
begin
shellexecute(handle,nil,pchar((Sender as TLMDButtonBarItem).caption),nil,nil,1);
end;
.........
Программа запускается и все вродебы нормально, но когда происходит в программе нажимают на кнопку и соответственно вызывается процедура procedure Tform1.cl(Sender:Tobject), то на
экране появляется такая ошибка:
"Project Project1.exe raised exception class ElnvalidCast with message "Invalid class typecast".
Process stopped. Use Step or Run to continue."
Если нажать Run, то просто появляется сообщение:"Invalid class typecast".
Может кто скажет в чем дело или что надо сделать.
← →
Mike Kouzmine (2002-10-09 19:06) [1]А ты в хелпе посмотри, как надо объявлять эти процедуры.
← →
Best Before 2024 (2002-10-09 19:07) [2]Узнай Sender.ClassName а потом уже думай
← →
Darlock (2002-10-09 19:13) [3](Sender as TLMDButtonBarItem) - есть приобразование типов.
И Sender в данном случае не является ни TLMDButtonBarItem ни его потомком...
← →
Mike Kouzmine (2002-10-09 19:16) [4]Как объявлена процедура cl? Если правильно, то как сказал BB 2024.
← →
Arhangel (2002-10-09 22:10) [5]Объявлена так:
private
{ Private declarations }
procedure cl(Sender:TObject);
← →
Arhangel (2002-10-09 22:20) [6]Sender.classname пишет, что это TLMDButtonBar, блин.
Как бы мне узнать что за кнопка была нажата?
К кнопке можно дойти таким путем l1.Sections[0].Items[0], но все дело в том что как раз мне и надо знать номер кнопки, которая была нажата.
L1-TLMDButtonBar
l1.Sections[0]-TLMDButtonBarsection
l1.Sections[0].Items[0]-TLMDButtonBarItem
Будем думать;)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c