23.07.2003, 17:56 | #1 |
NavAx
|
Подвисание Excel при выводе из Axapta
Привет всем!
Подскажите пожалуйста, может кто сталкивался с проблемой подвисания Excel при выводе данных из Axapta через COM интерфейс. Маленькое уточнение: Win98 - подвисание, WinXP - Ok! Неужели вся проблема в виндах. C уважением, Сергей. |
|
24.07.2003, 11:15 | #2 |
Шаман форума
|
Видали такую глюку. Проблема не в Акзапте. Лечится не то новой версией офиса, не то новой версией винды. Про патч не слышал.
|
|
24.07.2003, 12:06 | #3 |
Участник
|
Нужно подправить класс вывода в Excel так чтобы он был скрыт до тех пор пока в него не выведуться все данные. Excel не успевает обновлять экран.
__________________
Лев Бондаренко |
|
24.07.2003, 12:57 | #4 |
Moderator
|
Мы сталкивались с подобной проблемой
При больших обьемах данных, которые необходимо выводить в Exel он виснет намертво. Никакие эксперименты не помогли. Решение было одно -- под Win2000 все формируется нормально при "любых" обьемах данных . Делать Exel невидимым пока отчет полностью не сформируеться тоже не помогло. |
|
24.07.2003, 13:59 | #5 |
NavAx
|
Проведя накануне вечером и с утра сегодняшнего дня массу экспериментов, выяснились некоторые особенности:
- во-первых, в режите отладки через точечки останова и пошагового исполнения программки (точка устанавливается на шаге, заведомо предшествующему подвисанию) критическая зона одолевается запросто, но через примерно тоже количество строк процесс ступора повторяется; - во-вторых, версия Office на всех исследуемых машинах одинакова, разница только в Win., причем в Win98 данные выгружаются заметно быстрее (раза в 3), чем в XP, но ... как раз в 98 - то и виснет; - в-третьих, видимость \ невидимость приложения никак не влияет; Помогает, но ненадолго, уменьшение количества операций над объектами (напр. операции с форматированием данных в Excel), при этом выводиться несколько большее кол-во строк, но процесс "подвисания" просто оттягивается на некоторое время и неизбежно наступает чуть позже. Некоторые выводы: 1. Побуждающей причиной сбоя явно является количество операций над данными (COM объектами). Отсюда следующий вопрос: А как их уменьшить?! Ведь каждая вставка строки - это операция! 2. Надо переустановить Win |
|