![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TObj
bartov © (2002-11-06 17:12:00)Пишу компонент наследованный от TObj не могу вызвать свой собработчик.
function WndProcTray(Ctl: PControl; var Msg: TMsg; var Rslt: Integer): Boolean;
...
D := PBAPSysTray(Ctl);
if Assigned(D.OnBalloonShow) then D.OnBalloonShow(@D);
...
Как сделать чтоб заработало?
SPeller (2002-11-08 07:12:00) [1]Сорри, я тут немного не того сказанул.
Всё заработало, смотри почту.
SPeller (2002-11-08 06:45:00) [2]Пока не до конца разобрался, но для начла нашёл, что в оконной процедуре WndProcTray в параметре Ctl передаётся указатель НЕ на твой экземпляр объекта BAPTrayIcon. Если сделать вот такую запись в теле этой процедуры:
PBAPSysTray(Ctl).OnBalloonShow( Ctl );
то программы вылетает с окошком CPU. Если спереди прибавить if Assigned(.. , то ошибка не вылетает, что собственно и ввело тебя в заблуждение ( if Assigned при этом в окошке Evaluate/Modify выдаёт True )
SPeller (2002-11-07 19:40:00) [3]Давай мне свой код, посмотрю
bartov (2002-11-07 18:44:00) [4]Народ ну помогите.........
bartov (2002-11-07 12:16:00) [5]2Gandalf
Пример не работает!
bartov (2002-11-07 12:16:00) [6]2Gandalf
Отаслал где имено.
bartov (2002-11-06 23:14:00) [7]@Gandalf
Отправил код. Ждемс резултатов...
Vox (2002-11-06 22:47:00) [8]Пардон, не заметил
Gandalf (2002-11-06 21:45:00) [9]
> Кто-нибудь пришлите пожайлуста мне код или напишите в форуме
> чтоб заработало - любой пример от TObj.
Бери MHFontDialog, MHFindReplaceDialog, MHAboutDialog и т.п. c этого сайта. Или пиши на мыло, помогу.
> Надо писать:
> D := PBAPSysTray(Ctl.CustomData);
Не надо, поскольку наследуемся от TObj. Тем более, что PBAPSysTray - не тип данных, а тип компонента (судя по коду).
bartov (2002-11-06 20:56:00) [10]У меня на if Assigned(D.OnBalloonShow) выдается ошибка.
Кто-нибудь пришлите пожайлуста мне код или напишите в форуме чтоб заработало - любой пример от TObj.
Vox (2002-11-06 20:22:00) [11]Надо писать:
D := PBAPSysTray(Ctl.CustomData);