LO-7.2

Автор Kadet, 26 августа 2021, 23:20

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

Kadet

#45
Попробуйте. Может у Вас запустится.

Некоторые проверенные функции, заточенные под WIN отключены.

Скачать можно ЗДЕСЬ.
При загрузке автоматически запускается макрос из внутренней библиотеки: St->StMod->DocStart
В процессе загрузки в глобальной области появится библиотека - ANLib. В ней происходит основная работа программы.

P.S.: Только я не готовил базу для общего пользования, не чистил, не подгонял, не оптимизировал.
Макросов, форм и пр. много. И много в этой версии не используется, но нужно для общей версии.
Выношу программу только для проверки - работает ли у других или это мои персональные глюки.
Посему прошу не ругаться на запутанность.

rami

Кроме меня вашу базу скачали ещё трое и все молчат.

Я вот что заметил: если из Calc запустить макрос, а в другом модуле этой же библиотеки (пользовательской) будет ошибка, то в LibreOffice 7.2.0.3 виснет офис, а в LibreOffice 5.0.6 сообщает об ошибке без зависаний.

Kadet

Цитата: rami от 28 августа 2021, 21:31Кроме меня вашу базу скачали ещё трое и все молчат.
Если у них подобные моим проблемы, то не удивительно. Она только загружаться может минут 15-30.
А потом, конечно же, захочется всё таки подразобраться в чём же собака порылась. А это таки время.

Цитата: rami от 28 августа 2021, 21:31Я вот что заметил: если из Calc запустить макрос, а в другом модуле этой же библиотеки (пользовательской) будет ошибка, то в LibreOffice 7.2.0.3 виснет офис, а в LibreOffice 5.0.6 сообщает об ошибке без зависаний.
Вот вот. Я тоже уже не в первый раз говорю - в 7.2 явно что-то с обработчиком ошибок. Он не выдаёт ошибку, а просто виснет намертво.

А вот Вы правильно заметили - в этой версии явно есть какая-то проблема с переходами между библиотеками и макросами. Частенько виснет при переходе со внутренней библиотеки в глобальную. Даже внутри глобалки между библиотеками.

В общем, полагаю таки вылезают проблемы с "улучшенным search" и улучшенным обработчиком ошибок.

mikekaganski

Цитата: rami от 28 августа 2021, 21:31Кроме меня вашу базу скачали ещё трое и все молчат.

Я протестировал базу из ответа 17 под win10, и форма закрывалась нормально.

А пример из ответа 45 попробую завтра.

Цитата: rami от 28 августа 2021, 21:31Я вот что заметил: если из Calc запустить макрос, а в другом модуле этой же библиотеки (пользовательской) будет ошибка

Не могли бы Вы описать по шагам, как это увидеть? Я попробую тогда в отладчике, может, смогу поправить.
С уважением,
Михаил Каганский

Kadet

Цитата: mikekaganski от 28 августа 2021, 22:15Я протестировал базу из ответа 17 под win10, и форма закрывалась нормально.
???

Я ещё, конечно, проверю на 10-ке. Но, по-моему в ней у меня тоже была эта проблема.

Вот ещё заметил, что если при предыдущей загрузке произошёл крах, то следующая загрузка тормозит страшно. Причём привычного "Был сбой. Восстановить?" - не появляется. Правда я оповещения по максимуму отключил, но раньше это не останавливало это сообщение.

Самое печальное, что в рабочей версии со внешней БД - всё работает и проблем вообще нет. Загрузка быстрая. Переходы по библиотекам без проблем. Даже DISTINCT в любых, даже самых замороченных запросах, работают.
Система глюков не выстраивается. Всё, почему-то, вертится вокруг встроенной БД.

mikekaganski

Цитата: Kadet от 28 августа 2021, 22:04В общем, полагаю таки вылезают проблемы с "улучшенным search" и улучшенным обработчиком ошибок.

А что за улучшения Вы упоминаете? Не вижу подобного в примечаниях к выпуску 7.2.
С уважением,
Михаил Каганский

bigor

#51
Я протестировал базу из ответа 17 под linux, форма закрывалась нормально.
Пример из ответа 45 показывает минуты через 1-2 список проектов. При нажатии кнопки \\ и далее расчет, рисует ангар и вешает LO.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

rami

Цитата: Kadet от 28 августа 2021, 22:04Если у них подобные моим проблемы, то не удивительно. Она только загружаться может минут 15-30.
Ну, можно же сообщить хоть что-нибудь? У меня база (форма) Cyanopica4.odb загрузилась быстро ~ 10 секунд, свернулась и развернулась. Если закрыть форму, офис остаётся без документа, при повторном открытии открывается база, а не форма.

Цитата: Kadet от 28 августа 2021, 21:19Посему прошу не ругаться на запутанность.
Тогда буду ругаться на распутанность или беспутность. ;D

Почему вы переопределяете глобальную встроенную переменную ThisDatabaseDocument?

В библиотеке St в документе, в модуле StMod вы пишете:
Global ThisDatabaseDocument
...
...
Sub DocStart()
Dim Pass, vers
ON LOCAL ERROR GOTO ErrorSt:
ThisDatabaseDocument = ThisComponent
...

А потом в библиотеке ANLib в модуле CloseForm вы пишете:
ЦитироватьThisDatabaseDocument.FormDocuments.getByName(oName).Close(true)
Игры со встроенными переменными должны сопровождаться злорадным смехом >:D

rami

Цитата: mikekaganski от 28 августа 2021, 22:15Не могли бы Вы описать по шагам, как это увидеть? Я попробую тогда в отладчике, может, смогу поправить.
1. в пользовательской библиотеке (в "Мои макросы и диалоги") создать два макроса (у меня в разных модулях): правильный и с ошибкой:
Sub main
MsgBox("Hello World")
End Sub

Sub test
Dim x%
x/0
End Sub


2. вывести макрос main на панель инструментов
3. запустить с панели, зависает. если из редактора Basic, то указывает на ошибку без зависания

Если назначить макрос кнопке нарисованной в документе, то указывает на ошибку без зависания (так должно быть)

mikekaganski

Цитата: rami от 28 августа 2021, 23:203. запустить с панели, зависает.

Не могу воспроизвести в Version: 7.2.1.1 (x64) / LibreOffice Community
Build ID: 3cfc32d9754d2d239bd8ce2941029c12873010c1
CPU threads: 12; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: en-US
Calc: threaded

Может быть, исправлено?
С уважением,
Михаил Каганский

Kadet

По порядку.

Цитата: rami от 28 августа 2021, 22:56Ну, можно же сообщить хоть что-нибудь? У меня база (форма) Cyanopica4.odb загрузилась быстро ~ 10 секунд, свернулась и развернулась. Если закрыть форму, офис остаётся без документа, при повторном открытии открывается база, а не форма.
Значит, должно работать так. База открывается и сворачивается, а потом открывается форма - "ГЛАВНАЯ" (голубая). В этой форме в белом вложении должна сформироваться таблица. Это и есть - рабочее состояние программы.
После этого можно нажать кнопку "Новый проект" и должна открыться ещё форма - "ПРОЕКТ". В ней формируется, заносятся данные и рисуется сам проект.

Если вы закроете форму "ГЛАВНАЯ" - сама база продолжит висеть в фоне. Извините, забыл включить закрывалку базы при закрытии ГЛАВНОЙ формы. А поэтому, при повторном включении, после закрытия формы ГЛАВНАЯ, вы не снова открываете базы, а вытаскиваете из фона предыдущее открытие. Вот если закрыть и его - база закрывается полностью.

Удивительно, но получается у вас всё работает. Вы на МАК?

Цитата: rami от 28 августа 2021, 22:56Почему вы переопределяете глобальную встроенную переменную ThisDatabaseDocument?
Это сделано сознательно из "горкого" опыта. Оказалось, что глабал переменный, определённые во внутренних библиотеках не такие уж и "глобал". При переходе в макросы глобальных библиотек эти переменный теряются, как и их значения.
И посему, так как мне эти переменные (пусть и не все) нужны и там и там, то пришлось их определять и там и там, как и присваивать им значения и в обеих библиотеках.
Я долго мучился с этим вопросом, и возможно не правильно понял работу программы, но пришлось выходить из положения таким образом.

Kadet

Цитата: rami от 28 августа 2021, 22:56
ThisDatabaseDocument.FormDocuments.getByName(oName).Close(true)
Игры со встроенными переменными должны сопровождаться злорадным смехом
Объясните. Этот вопрос очень важен.  Именно эта строка у меня проблемная. Она должна закрывать базу, но в итоге просто грохает её и при следующем заходе начинают сыпать "восстановилки".

Kadet

#57
Цитата: Bigor от 28 августа 2021, 22:55Я протестировал базу из ответа 17 под linux, форма закрывалась нормально.
Пример из ответа 45 показывает минуты через 1-2 список проектов. При нажатии кнопки \\ и далее расчет, рисует ангар и вешает LO.
Спасибо! Какая у Вас ОС? Значит у вас работает. С формированием проектов буду разбираться позже. Мне бы до них ещё добраться бы.
1-2 мин, таки долго.
Кнопка "/" - редактировать, "//" - копировать, "х" - удалить.

bigor

#58
Цитата: Kadet от 29 августа 2021, 10:49Вас ОС?
Операционная система: Manjaro Linux
Версия KDE Plasma: 5.22.4
Версия KDE Frameworks: 5.85.0
Версия Qt: 5.15.2
Версия ядра: 5.4.142-1-MANJARO (64-бита)
Графическая платформа: X11
Процессоры: 4 × AMD Phenom(tm) II X4 965 Processor
Память: 7,8 ГиБ ОЗУ
Графический процессор: NVIDIA GeForce GTX 1050/PCIe/SSE2

Version: 7.2.0.4 / LibreOffice Community
Build ID: 20(Build:4)
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: kf5 (cairo+xcb)
Locale: ru-RU (ru_RU.UTF-8); UI: ru-RU
7.2.0-1
Calc: threaded

1-2 минуты это субъективно :) по часам секунд 30 -40 между открытием базы и появлением формы.
К сожалению надписи на кнопках не вижу, при наведении на кнопку которая ниже синей линии появляются символы // на нее и жму. Секунд через 4 появляется форма с пустым окном, она же появляется и при нажатии на кнопку "Новый проект"
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Kadet

Цитата: mikekaganski от 28 августа 2021, 22:47А что за улучшения Вы упоминаете? Не вижу подобного в примечаниях к выпуску 7.2.
Возможно я что-то напутал, но описания изменений ядра и всевозможных фильтров, сложило у меня впечатление о том, что и поисковики затронуты.
Возможно я ошибся, ведь трудно понимать ломаный гугл-английский.