Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TrayIcon


nOvell ©   (2004-08-15 13:30:00) 

Создаю PopupMenu и цепляю его к BapTrayIcon. Ставлю Creatin Order и все такое.. Все показывается и выскакивает, но вот обработчики событий PopupMenu (выбор элементов) не срабатывают. Раньше KOL 1.90 все работало. Что бы это могло быть?


TRUF   (2004-08-15 20:20:00) [1]

А нет это не в KOL, зря я на TKOLObj грешил. Это в мироре BatTrayIcon (у меня v1.05):

procedure TKOLBAPTrayIcon.SetupFirst;
begin
...
 SL.Add(Prefix + AName + ' := NewBAPTrayIcon(Applet);');
...

Зачем?

Имхо надо SL.Add(Prefix + AName + ' := NewBAPTrayIcon(' + AParent + ');');
И все рулит. Правим mckBAPTrayIcon.pas.


TRUF   (2004-08-15 19:38:00) [2]

Глюк новой версии КОЛ. Цитирую:

[-]MCK:  TKOLObj.CreationPriority  property  added, to provide
correct objects  creation  order  (TKOLMenu  objects  must  be  created
before TKOLTrayIcon, which can use TKOLPopupMenu).

И в честь этого конструктор TrayIcon после применения нового едитора (а может и сразу после рибилда проекта) изменяется на

Result.BAPTrayIcon1 := NewBAPTrayIcon(Applet); (В uses1_1.inc)

Он сует Applet при вызове Popup окна, а тот не держит события.

Меняем все обратно на Result.BAPTrayIcon1 := NewBAPTrayIcon(Result.Form); и все работает! Надо найти баг в сорсах кол - вечерком поковыряю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо