|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.02.2009, 16:13 | #1 |
Регистрация: 22.02.2009
Сообщений: 5
|
Обработка в Excel внешних событий
Добрый день!
Пытаюсь решить следующую задачу. Существует COM-класс через который происходит обмен данными Excel и внешней программы. Обмен данными происходит по событиям, которые запускают подпрограммы обработки событий. Событий может быть несколько. Меня интересует вопрос, что произойдет, если в процессе обработки события возникнет новое событие того-же вида или друго вида. Буду благодарен за любые ответы. |
22.02.2009, 16:24 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Если внутри кода обработчика события не отключается обработка событий (что-то типа Application.EnableEvents = False), то запустится обработчик соответствующего события (или вторая копия обработчика того же события) Ответ получился таким же мутным, как и вопрос Лучше прикрепите файл с кодом (или приведите пример кода), и конкретизируйте вопрос. |
|
22.02.2009, 16:35 | #3 |
Регистрация: 22.02.2009
Сообщений: 5
|
дополнение
Вопрос состоит в том, что если события будут возникать быстрее
чем выполняется их обработка, то вновь возникшие события будут выстраиваться в очередь? И если так, то насколько длинной может быть эта очередь? От этого зависит какие функции возложить на обработчик события: - только сохранение данных передаваемых в событии - сохранение и обработку полученных данных. |
22.02.2009, 16:56 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Хороший вопрос...
Проведём эксперимент - напишем обработчик события изменения выделения на листе Excel: Код:
Если же мы будем выделять ячейки программно Код:
Как будет всё это работать в Вашем случае - не знаю (запустятся все обработчики одновременно, или один за другим). Длина очереди событий, скорее всего, ограничивается размерами оперативной памяти, доступной приложению. Цитата:
Приведите пример кода - посмотрим, вдруг время его выполнения реально уменьшить в несколько раз... |
|
22.02.2009, 17:26 | #5 |
Регистрация: 22.02.2009
Сообщений: 5
|
У меня еще нет готового кода.
На данном этапе пытаюсь детализировать задачу. Похоже придется экспериментировать. Задача усложняется тем, что внешняя программа, генерирующая события работает только в рабочие дни и часы (Биржа) Спасибо за ответы. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обновление внешних связей | Григорьев Игорь | Microsoft Office Excel | 12 | 10.11.2008 11:33 |
обработка Excel таблиц | JSM | Общие вопросы Delphi | 4 | 10.04.2008 13:04 |
Компиляция внешних файлов | NoRty | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 25.02.2008 15:34 |
Импорт внешних данных | asale | Microsoft Office Excel | 1 | 15.04.2007 00:41 |
обработка событий из консоли! | nereus | Общие вопросы Delphi | 0 | 07.02.2007 15:33 |