Вкратце суть: в терминале на сервере 2008 и выше медленно работает OLE
Вот например такой код
Код: Выделить всё
WordBasic=create(0, create:ole)
WordBasic{PROP:Create} = 'Word.Application'
WordBasic{'Application.Activate'}
WordBasic{'Visible'}=0
WordBasic{'Documents.Add'}
loop i#=1 to records(LOC:VariablesQ)
get(LOC:VariablesQ,i#)
WordBasic{'ActiveDocument.Variables.Add("'&clip(VQ:Name)&'","'&clip(VQ:Name)&'")'}
end
loop i#=1 to WordBasic{'ActiveDocument.Variables.Count'}
WordBasic{'ActiveDocument.Variables('&i#&').Value'}=WordBasic{'ActiveDocument.Variables('&i#&').Name'}
end
WordBasic{'Visible'}=1
WordBasic{PROP:Deactivate}
WordBasic{PROP:Deactivate}
WordBasic{PROP:Deactivate}
destroy(WordBasic)
Причем заметно, что сначала скорость более-менее, а потом чем дальше тем дольше
То же самое на связке Server 2003 + Word 2003 + терминал выполняется 1-2 минуты
В реальных условиях переменных конечно не 30 тыс, а допустим 1-2 тыс, но несколько минут пользователь тоже ждать не может (вместо пары секунд вне терминала)
В инете наткнулся на несколько обсуждений аналогичных проблем
Например: https://social.technet.microsoft.com/Fo ... ws2008r2ru
Еще: http://www.cyberforum.ru/com-ole/thread826744.html
Т.е. Кларион тут как бы не при чем
Может кто сталкивался и знает решение?