Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы при вызове обработчика событий, Не отрабатывают некоторые обработчики 
:(
    Опции темы
jcyber
Дата 30.4.2009, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Уважаемые, доброго времени суток.

У меня возникла довольно интересная ситуация.
Я, в своем приложении, в ран-тайм, определяю список файлов( по маске *.html ) из определенный директории(и ее поддиректорий), на основании этого дерева строю меню. В процессе всего это на каждый(нужный мне) пункт меню вешаю OnClick, и наблюдаю странную картину... первые два обратчика не вызываются, когда я кликаю на пункте меню, хотя они разегистрированы за этими меню.

Если у кого была подобная ситуация или есть идей по устранению данной проблемы, буду признателен.
PM MAIL   Вверх
Keeper89
Дата 30.4.2009, 01:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Код в студию.


--------------------
PM MAIL WWW   Вверх
jcyber
Дата 30.4.2009, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Процедура обхода дерева и установка обработчиков для его листьев:
Код

procedure TGeneralForm.createMenuListener( m : TMenuItem );
  var
    i : Integer;
begin
  if ( m.Count > 0 ) then
    begin
      for i := 0 to m.Count-1 do
        createMenuListener( m.Items[i] );
    end
  else
    begin
      m.OnClick := openManual;
    end;
end;

PM MAIL   Вверх
Keeper89
Дата 30.4.2009, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Посмотрите прикрепление, у меня с вашим кодом все работает (может ошибка в другом куске кода).


Присоединённый файл ( Кол-во скачиваний: 24 )
Присоединённый файл  Project1.rar 191,31 Kb


--------------------
PM MAIL WWW   Вверх
jcyber
Дата 30.4.2009, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 30.4.2009,  02:43)
Посмотрите прикрепление...

Происходят какие то чудеса на форуме. Не могу скачать прикрепленный файл, куда писать не нашел, поэтому пишу сюда...
Keeper89, можно как то взять этот файл другим способом? smile
PM MAIL   Вверх
Christoph
Дата 30.4.2009, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: 1
Всего: 11



зайди через другой браузер


--------------------
user posted image
PM MAIL ICQ   Вверх
Keeper89
Дата 30.4.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



jcyber, специально для вас smile : http://webfile.ru/3456839


--------------------
PM MAIL WWW   Вверх
jcyber
Дата 30.4.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 30.4.2009,  14:14)
jcyber, специально для вас smile : http://webfile.ru/3456839

Благодарю ;)
PM MAIL   Вверх
jcyber
Дата 30.4.2009, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 30.4.2009,  02:43)
у меня с вашим кодом все работает (может ошибка в другом куске кода).

Очень интересно... в другом "куске" кода нет смысла искать... потому что только указаный мною метод "вешает" обработчики на пункты...
Проверяю адреса процедур для всех пунктов, адреса совпадают - одинаковы у тех пунктов меню, которые реагируют и тех, которые молчат...
Кто что посоветует?
P.S.
одинаковый эффект при использовании опримизации и без нее...
PM MAIL   Вверх
Keeper89
Дата 30.4.2009, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(jcyber @  30.4.2009,  15:25 Найти цитируемый пост)
Кто что посоветует?
P.S.
одинаковый эффект при использовании опримизации и без нее... 

Просто мистика.  smile. Надо смотреть. Мой проект идет правильно?
Цитата(jcyber @  30.4.2009,  15:25 Найти цитируемый пост)
в другом "куске" кода нет смысла искать... потому что только указаный мною метод "вешает" обработчики на пункты

Вдруг есть какой-то баг в других местах кода, и он перекрывает эффект. Ведь может быть.

Это сообщение отредактировал(а) Keeper89 - 30.4.2009, 15:40


--------------------
PM MAIL WWW   Вверх
jcyber
Дата 3.5.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 2.4.2009

Репутация: нет
Всего: нет



да, я с Вами согласен, Keeper89. Надо будет смотреть, хотя чудеса не исключены...

А как на счет того, что у меня происходит формирование пунктов меню в DLL-ке, а обработчики вешаются уже в хост-проге... Могут ли быть здесь подводные камни? И в связи с этим еще один вопросик: могу ли я вешать обработчики еще в dll-ке? у меня не получилось, посколько для OnClick-а нужен метод класса, а в dll-ке не получилось класс сделать...

Это сообщение отредактировал(а) jcyber - 3.5.2009, 22:20
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.