![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Странное поведение ActionMainMenuBar [D7, WinXP]
Vasek © (2005-02-21 23:16:00)При клике на пункте меню вызывается команда
ListBox1.Items.Add('bbb');
Проблема в том, что вместо добавления оной строки, добавляются ДВЕ!!! То-есть обрабатывается как MouseKeyDoun так и MouseKeyUp.
Вопрос: Как это вылечить?
Помогите пожалуйста!
Vasek (2005-02-23 12:51:00) [1]Копание никчему не привело. :(
Но я и не считаю себя МАСТЕРОМ.
Может настоящие МАСТЕРА всё-же снизойдут до этой проблемы?
Нехочется верить, что это для них неразрешимая задача.
Помогите, ОЧЕНЬ прошу!!!
Vasek (2005-02-22 22:18:00) [2]To Sun bittern ©
Огромное спасибо! Буду копать...
Sun bittern (2005-02-22 21:37:00) [3]Порыться нужно начиная с этого метода, очень похоже, что глюк явно в нем. Отладчиком там гонять и гонять... :)
unit ActnMenus;
procedure TCustomActionMenuBar.TrackMenu;
Sun bittern (2005-02-22 20:56:00) [4]Глюк у TActionMainMenuBar. Надо в нем копать. Если менюшка лежит на панели меню, то обрабатывается Execute 2 раза, если данный пункт меню находится в выпадающем списке меню, то Execute обработается 1 раз. Вот такие пирожки :)
Vasek (2005-02-22 19:17:00) [5]Ну вот...
А мастера то где?
Очень прошу о помощи.
Vasek (2005-02-22 12:13:00) [6]Ауууууу!
Помогите!!!!!!!
Vasek (2005-02-22 10:30:00) [7]To ЮЮ ©
Попробуй на пустом проекте. Весь код при этом должен быть один обработчик
procedure TForm1.Action1Execute(Sender: TObject);
begin
ListBox1.Items.Add('bbb');
end;
______________________________________
Именно так и сделал. Как надо НЕ РАБОТАЕТ!!!
Добавляются ДВЕ строки.
Мастера, отзавитесь.
ЮЮ (2005-02-22 04:26:00) [8]Переходи на D6 - там всё работает как надо :)
>А вообще никакие!
ActionManager.Acttion.OnExecute - такой код где-то присутствует или это просто для красного словца? Если присутствует - убирай, ибо это и есть двойной вызов.
Попробуй на пустом проекте. Весь код при этом должен быть один обработчик
procedure TForm1.Action1Execute(Sender: TObject);
begin
ListBox1.Items.Add('bbb');
end;
Если все работает как надо, значит ищи ошибку в своем коде.
Vasek (2005-02-22 01:51:00) [9]Ну неужели никто не использует ActionMainMenuBar.
Кстати ActionToolBar ведёт себя абсолютно предсказуемо.
Помогите!!!!!!!!
Vasek (2005-02-21 23:50:00) [10]А вообще никакие!
ActionManager.Acttion.OnExecute !!!
saNat (2005-02-21 23:42:00) [11]А какие обработчики используются? Если в обоих прописано, то оба сработают... кнопку мыши не только нажимают, но и отпускают :-)
С уважением, ЕВА