LO-7

Автор Kadet, 11 августа 2020, 15:37

0 Пользователи и 1 гость просматривают эту тему.

Kadet

Как и предполагалось (уже вошло в привычку с выходом каждой новой версии LO), с LO-7 моя база незадружила.
Входит, при загрузке крах и вечный цикл - загрузка-крах / загрузка-крах... до бесконечности.

Разбираться пока не хочу. Работаю на 6.4.5.

kompilainenn

Держите в курсе
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

sokol92

Я в первый день выхода версии 7.0.0.3 (05.08.2020) с этим тоже столкнулся в Calc, но не зафиксировал. Ничего, поймаем...
Владимир.

Kadet

#3
Покрутил, повертел... поюзал.

В общем пока нашёл следующее.

При открытии моей базы автоматически открывается основная рабочая форма, а главное окно базы переключается в фоновый режим.
Так вот, открытие формы осуществляется следующей процедурой:
Sub OpenForm0
Dim oDoc, oForm, sFormName$
ON LOCAL ERROR GOTO Error1:
oDoc=ThisComponent
sDBURL=oDoc.URL
sFormName="ОСНОВНАЯ"
OpenFormDB(sDBURL, sFormName)
Error1:
ON LOCAL ERROR GOTO 0
End Sub


Function OpenFormDB(sDBURL$, sFormName$)
Dim oDBDoc, oFormDef, oFormDocs, oFormDoc, oDummyFormDef, oCon
Dim oBaseContext, oDataBase, InteractionHandler, oBazy
Dim oParms() As New com.sun.star.beans.PropertyValue
ON LOCAL ERROR GOTO Error2:

oDBDoc = ThisDatabaseDocument
oFormDocs = oDBDoc.getFormDocuments()
oFormDef = oDBDoc.getFormDocuments().getByName(sFormName)
oDummyFormDef = oFormDef

oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")

oDataBase = oBaseContext.getByName(sDBURL$)

InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")  
oCon = oDataBase.ConnectWithCompletion(InteractionHandler)

  AppendProperty(oParms(), "OpenMode", "open")
AppendProperty(oParms(), "ActiveConnection", oCon)

oFormDoc = oFormDocs.loadComponentFromURL(sFormName, "", 0, oParms())
oFormDoc.CurrentController.Frame.LayoutManager.setVisible(FALSE)

OpenFormDB() = oFormDoc

Error2:
ON LOCAL ERROR GOTO 0
End Function


В общем крах происходит при запуске функции
oFormDoc = oFormDocs.loadComponentFromURL(sFormName, "", 0, oParms())

Возможно глюк происходит при самой загрузке формы, но... если отключить автооткрытие формы, а потом, после открытия самой БД запустить эту форму вручную, то никаких проблем не наблюдается. Форма открывается и запускаются макросы, привязанные к событию "открытие документа"...

Мало того, делаю небольшие изменения в функцию. Добавляю:
If sFormName<>"ОСНОВНАЯ" Then
oFormDoc = oFormDocs.loadComponentFromURL(sFormName, "", 0, oParms())
oFormDoc.CurrentController.Frame.LayoutManager.setVisible(FALSE)
End If

Т.е. - отключаю автозагрузку формы при загрузке БД. Потом запускаю форму вручную. И после этого функция OpenFormDB прекрасно работает (она у меня используется при открытии многих других форм).
Т.е. крах происходит только при автозапуске формы. Во всех других случаях oFormDoc = oFormDocs.loadComponentFromURL(sFormName, "", 0, oParms()) нормально работает.

В общем не понятно.

Kadet

В LO-6.4.5 и ранних всё работает.

Kadet

Кстати, кто хочет, мажет поэкспериментировать. Вот вариант моей БД со встроенной базой.
Не забудьте экспортировать библиотеки макросов (как это в ReadMe).

Kadet

Библиотеки к БД (в один пост не помещаются)

Kadet

Экспериментировал на win7.
Сегодня попробовал на win10. Вообще катастрофа. База просто зависает, даже при отключении автозагрузки формы.

Мало того. Установил параллельно LO 6.4 и LO 7.0. Так вот даже при попытке открытия БД через LO 6.4 - база зависает. Просто полностью мёртвая. Ни на что не реагирует. Закрывать приходится только через диспетчер задач.

В общем - лажа какая-то. На win7 проблем поменьше. По крайней мере закрыть можно.

mikekaganski

Вчера экспериментировал на Win10 - не висло, не крашилась, автоматически открывалось...
С уважением,
Михаил Каганский

Kadet

Цитата: mikekaganski от 12 августа 2020, 19:17Вчера экспериментировал на Win10 - не висло, не крашилась, автоматически открывалось...
Интересное кино. Может у меня просто физических ресурсов не хватает?
Насколько я знаю у вас и проц "дай Бог каждому" и оперативки 12 гигов.
У меня же техника старенькая и слабенькая. На win7 - проц 2,5Гц х 2 ядра и 3Г оперативки, на win10 - проц 2,1Гц х 2 ядра и 6Г оперативки.

Ну... значит в этом всё дело. "Старикам здесь не место"... в LO 7. Мощей не хватает.

Kadet

Хотел бинарник погонять. Ну, а раз такое дело, не буду. И так дело ясное.
LO 7 получилась "не для всех", только для продвинутых. На предприятии такое не стоит устанавливать. У нас на работе ещё слабей чем у меня компов хватает.

А без базы уже не могут. К хорошему пристрастились быстро.

kompilainenn

вряд ли дело в железе
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

#12
Дело не в железе, но в офисной работе, с её многозадачностью и скоростями смены приложений - для Win7 машинки CPU 2,5х2, 3GB RAM - откровенно мало, ведь ядро ОС жрет 1.8GB, сам LO 0.8-1.2GB с несколькими документами, особенно БД, система улетает в своп, а слабый CPU едва справляется с диском. который наверняка там SATA2.

Сочувствую, машинка реально на выкидыш мусора.

Но если "всё равное не купят" - ставим WinXP, последний LO 5472 и работаем относительно комфортно. Проверено на Celeron 1.6, 2GB RAM.

Впрочем, есть план B. Мне вот пришлось c "алика" пару десятков б/у Xeon E5450 на старье с Socket755 поставить, так на работу люди стали идти с удовольствием! Расходы - 1,2 тыс. руб. на PC. Охлаждение оставили везде штатное, не гоним, наоборот заандервольтили где платы завышали Vcore, этим грешат некоторые Gigabyte и Asus. Часть работников, глядя на чужую радость - взяли да купили "за свои" во время карантинов, и принесли на работу. Прошло время - компенсировали всем эти затраты. Вот такой апгрейд "снизу".

Причем есть варианты зионов даже для первого поколения сокета, которое не поддерживает 4-ядерные CPU (материнки 2006-2007 гг). За 350 рублей - PC после Celeron 1.2-1.6 - становится примерно в 6 раз быстрее по метрикам типа CPU Queen AIDA или CPU-Z.  Я про INTEL Core 2 Duo E8400 3,0 ГГц/6MB L2/1333 ГГц RAM, LGA 775 (старый).
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Kadet

#13
Та не, всё же думаю железо всему виной, если при всех прочих равных у меня на разных машинах не прошло, причём с одинаковым диагнозом, а у вас пошло, то явно железо.
Ради экономии возможностей я обычно выключаю всё ненужное... Службы, автозагрузки и пр. всё по минимуму. На машинах обычно лишь 1С-ка стоит, браузеры, принтерные прибамбасы да LO. Лишь на нескольких MSOffice. Даже стандартный защитник отключаю, хотя в win10 это геморойно.

По поводу апгредов... ну, вряд ли директора убедит необходимость апгрейдов, даже минимальных, для того только, чтобы заработала LO7, если при этом на LO 6.4 - всё прекрасно работает. Даже на весьма слабых машинах. На win7 вообще летает (лучше, чем на win10). И в принципе всё всех вполне устраивает.

Кстати, про замены процев и пр. Мы, в принципе, при случае у всех супер слабых компов уже давно всё это поменяли. Может не на самое скоростное, но на вполне сносное. Самым "нужным" машинам даже SSD поставили под системку.

В общем, самый просто вариант это просто продолжать работать в LO 6.4 и не париться с капризным трагладитом 7-кой. Мне LO 6.4.5 очень даже нравится.

economist

Директора может убедить альтернатива: купить сейчас Xeon за 1 тыс. руб. и проработать на нем 3 года, или купить через 3 года новый системный блок за 20 тыс. руб. той же производительности, а старый - выкинуть.

Если железо уже "козлит" - и LO645 когда-то станет невмоготу. А ограничивать себя во всем уже сегодня - не лучший путь для развития. Оптимизацией и тюнингом - не убрать узкие места. Для офисных задач полно слабых камней - AMD E-серия, Atom-ы всякие, Celeron-ы. Им место - у пенсионеров, с включением раз в месяц.   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...