29.09.2005, 15:27 | #1 |
Участник
|
ComWordDocument_RU - медленная работа
Axapta 3.0 SP3
Возможно для большинства поситителей этого форума такой проблемы уже давно не существует, но поиск ( может плохо искал ? ) ответов на этот вопрос не дал. Так что излагаю то что удалось найти. Суть топика скорее сводится к медленной работе метода ComWordDocument_RU.InsertFieldValue(). Небольшие манипуляции с профайлером кода показывают что основное время тратится на вызов ComWordDocument_RU.FindField. Посмотрим на код этого метода: PHP код:
PHP код:
PHP код:
Кому не лень, может загрузить Word и посмотреть major номер версии приложения - для Word2002 это будет что-то типа "10.2627.2625", соответсвенно проверка if( substr( '10.2627.2625', 1, 1 ) >= '9' ) еще долго не вернет TRUE и будет обрекать счастливых обладателей последних версий продуктов от Microsoft на длительное ожидание Небольшая модификация условия: ( в потомке или непосредственно в ComWordDocument_RU - кому как нравится ) PHP код:
Ну вот пожалуй и все что удалось накопать. |
|
06.10.2005, 08:21 | #2 |
Участник
|
Привет!
Подкидывали идею о замене кусочка кода (для стареньких версий Word): .......... for (i=1 ; i<= fields.count() ; i+=1) { fieldTmp = fields.item(i); ......... На следующее: int fieldsCount ; ....... fieldsCount = fields.count(); for (i=1 ; i<= fieldsСount ; i++) { fieldTmp = fields.item(i); ............. |
|
06.10.2005, 09:25 | #3 |
Участник
|
еще можно не спрашивать версию приложения каждый раз а запомнить при первом вызове.
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Доступ к меню "Работа с документами" | 4 | |||
Совместная работа заказчика и исполнителя в разных или одном слое? | 6 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|