Вот код вызова: > FUNCTION ViewCalc(cFile,lAsTemplate) > LOCAL oApp,oDeskTop,oDoc,oSheets,oAS,oView > LOCAL aProp:={} > > TRY > oApp := CreateObject( "com.sun.star.ServiceManager" ) > CATCH > ALERT( "OOCalc не доступен!" ) > ClearTotRepStatic() > RETURN .F. > END > > oDeskTop:=oApp:createInstance("com.sun.star.frame.Desktop") > > IF !EMPTY(lAsTemplate) > aProp:=ARRAY(1) > oProperty:=oApp:Bridge_GetStruct("com.sun.star.beans.PropertyValue") > oProperty:Name:= "AsTemplate" > oProperty:Value:= .T. > aProp[1]:=oProperty > ENDIF > > > oDoc:=oDeskTop:LoadComponentFromURL(ConvertToURL(cFile),"_blank", 0,aProp) > RETURN oDoc
Created attachment 173 [details] Тест. Это тестовая программа, которая воспроизводит поведение БЕСТ при обращении к ooffice.
Created attachment 174 [details] тестовая обработка для 1С 7.7 Тестовая обработка реализующая примерно такое же поведение для 1С.
В данный момент написана Dll, которая запускает открывает документы, вызываемые таким образом, в host системе (проходит оба теста). Реализует открытие документов через ShellExecute. Dll написана с использованием vc6, поэтому тянет, за собой еще три библиотеки mfc.Сейчас пытаюсь избавится от этих лишних библиотек.
Все есть Dll реализующая функциональность и не требующая дополнительных библиотек. Оба теста проходит. Как добавим в сборку - можно закрыть багу.
Похоже в новом БЭСТ 4+ (август 2007) OpenOffice вызывается другим способом, поскольку (если исключить зависание на zip.exe и zipoo.bat), OpenOffice вызывается когда надо.
При отключении зависаний а zip.exe и zipoo.bat. В старой версии BEST4+ с библиотекой ooffice.dll, то же вызов OPenOffice происходит нормально. Другое дело что он не способен открыть файл сформированный BEST4+(но это к этой баге не относится).
Нужно добавить наши DLL, чтобы закрыть вопрос.
Если проблема ещё есть, её надо формулировать заново.