Formularabsturz

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
herz4
Beiträge: 14
Registriert: Sa 17. Dez 2016, 16:11

Formularabsturz

Beitrag von herz4 » Do 23. Mai 2019, 09:54

Ein mir sehr wichtiges Base-Formular "zickt" rum, stürzt oft ab. Mit diesem arbeite ich ständig. Dahinter steht eine große Datenbank, im Formular etwa zwanzig Unterformulare, vielleicht ebenso viele Makros.

Im wesentlichen sind es zwei Absturzszenarios. Entweder lasse ich aus den über zweitausend Stammdatensätzen die infrage kommenden herausfiltern, dann werden mir diese, wenn es denn wie oft mehrere sind, in einer Tabelle auf zweiter Formularseite aufgelistet. Dort klicke ich einen, den gewünschten an, dieser wird dann im Hauptformular auf erster Formularseite angezeigt. Und bei diesem Rücksprung geht nicht nur das Formular "krachen", sondern gleich ganz LO.

Ferner geht der Absturz auch vonstatten, wenn ich im Hauptformular den Datensatz wechsle, im Unterformular auch auf einen weiteren Datensatz wechsle und dann nach unten scrolle. Erreiche ich dabei die zweite Formularseite kommt - meist - der Crash.

Jahrelang "funktionuckelte" mein selbst gebauter "Teletimer" sehr gut, alle Makros arbeiteten verläßlich, zeigen auch Fehler an usw. usf. Die jüngst zunehmende Zahl an Abstürzen, ehedem maximal einmal pro Monat, wurde unerträglich. Was war zwischen dem, jahrelang gut funktionieren, und häufige Abstürze passiert? Nach meiner Erinnerung kann ich nur mein Upgrade auf LM19.1 64bit und damit einhergehend eine neuere Version von LO verantwortlich machen.

Vorerst machte ich die zwei Seiten des Formulars verantwortlich, weil der Absturz in beiden beschriebenen Szenarien mit dem Seitenwechsel verbunden war. So vergrößerte ich die Writer-Seiten und verschob die Elemente der zweiten Seite auf die erste. So blieb die zweite Seite vorerst leer aber es funzte wieder!

Mir missfiel, die zweite leere Seite. Als ich auch dafür durch Hilfe hier im Forum noch eine Lösung fand, kamen die Abstürze zurück. :lol:

Also dann doch lieber eine leere - ungenutzte - Seite zuviel als diese Abstürze. Doch oh weh, ein erster Aufruf des noch gespeicherten Formulars mit der leeren Seite lieferte nun auch Abstürze, zunächst.

Dann räumte ich auf. Das betrifft vor allem meinen Ordner "Kopien" im Menü der Formulare, in welchen ich immer bei Manipulation an zumindest wichtigen Formularen eine Sicherheitskopie schiebe. Ich kann in diesem (Unter)Ordner mein Formular mit gleichem Namen abspeichern, eine weitere Kopie natürlich mit Zusätzen o.ä. Schon früher hatte ich dabei Schwierigkeiten bekommen. Manchmal ließ sich ein Formular dort nicht löschen, manchmal nicht umbenennen. Einmal hatte ich dort zwei Formulare mit gleichem Namen! Abhilfe schaffte wohl meist ein LO-Neustart.

Das Aufräumen ließ nun mein Formular mit der einen leeren Seite wieder ohne Abstürze funktionieren. Ich kann aber für dieses Verhalten doch nicht die Außerirdischen verantwortlich machen, oder?

Und jetzt halte ich es mittlerweile für möglich, dass die Funktion meines Formulars - nicht ganz - unbeeinflusst ist von den Sicherheitskopien im Ordner "Kopien", zumindest wenn dort ein Formular mit gleichem Namen aber in anderer Version abgespeichert ist. Obwohl, zwischen beiden Hypothesen - "Außerfriesische" und "gleicher Name" - ist eigentlich kein richtiger Unterschied für mich zu finden.

Mich interessiert dazu brennend Eure Meinung!
:? 2019-08-17 Linux Mint 19.1 Cinnamon 4.0.10, Linux-Kernel 4.15.0-58-generic LO Version: 6.0.7.3, Build-ID: 1:6.0.7-0ubuntu0.18.04.8 HSQL Database Engine 2.4.1 extern mit org.hsqldb.jdbcDriver :oops:

RobertG
Beiträge: 1933
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Formularabsturz

Beitrag von RobertG » Do 23. Mai 2019, 16:10

Hallo herz4,

das lässt jetzt natürlich viel Ort für Spekulationen. Deshalb hier mögliche Ursachen für weitere Tests:
- Makros ausschalten und ohne den Einsatz von Makros probieren. Kannst Du vermutlich nicht, weil bei Dir bereits ein Makro zum hin- und herkopieren benötigt wird. Folglich lässt sich nicht so einfach ein Makroproblem ausfindig machen.
- Andere Java Laufzeitumgebung aussuchen. Du hast, wie ich Linux. Bei mir sind da inzwischen 3 verschiedene Laufzeitumgebungen anwählbar, die über die Standardinstallation von OpenSUSE rein kamen.
- Parallel zu Deiner momentanen LO-Version andere LO-Versionen direkt von LO installieren. So etwas geht als Benutzer ohne jede Beeinflussung des bisherigen Systems in einem Unterverzeichnis Deines Homeverzeichnisses. Schau gegebenenfalls unter https://de.libreoffice.org/get-help/documentation/ nach dem Handbuch "Erste Schritte" Kapitel 15 - stand auf jeden Fall in der ersten Version dieses Kapitels und wird von mir immer wieder genutzt.

Was wird denn für ein Makro ausgelöst, wenn Du so einen Rücksprung von einem Formular zu einem anderen machst? Ist dann das andere Formular offen oder geschlossen? Hier muss sich doch irgendetwas beißen.

Gruß

Robert

herz4
Beiträge: 14
Registriert: Sa 17. Dez 2016, 16:11

Re: Formularabsturz

Beitrag von herz4 » Do 23. Mai 2019, 16:51

Hallo Robert,

ich danke Dir erneut für Deine Erklärungen.

Wenn es nur bei Makros abstürzen würde, wollte ich diese gern ausschalten. Dort kann immer irgendwo ein Fehler sein. Aber es stürzt auf gleiche "schnelle" Art und ohne jegliche Meldung ab, wenn ich nur scrolle unter bestimmten (beschriebenen) Voraussetzungen. (Wäre gemein, wenn hier zwei Ursachen den Fehler bedingen.)

Andere JRE hatte ich schon, nur nicht explizit damit getestet. Habe ich folglich vor.

Anderes LO, hier 6.2.3.2 (via Flatpak) hatte ich schon zu diesem Zweck (parallel) getestet und gleiche Abstürze beobachtet; gleich wieder gelöscht.

"Was wird denn für ein Makro ausgelöst, wenn Du so einen Rücksprung von einem Formular zu einem anderen machst? Ist dann das andere Formular offen oder geschlossen? Hier muss sich doch irgendetwas beißen." - Nein, es ist ein Formular in Normal- (nicht Web-!) Ansicht mit zwei (Writer-)Seiten, ehemals war ein Teil auf der zweiten Seite, der wurde gestern auf die erste verschoben. So ist es jetzt - noch - und es geht wieder alles tadellos.

Also, das (eine) Formular ist offen, geladen, alle Unterformulare sind geladen, ich kann Eingaben machen usw. usf. Nur wenn ich im Haupt- bzw. obersten Formular zu einem weiteren Datensatz gehe, dann im Unterformular auch in einen weiteren Datensatz, und dann von der ersten Seite zur zweiten Seite ehemals, jetzt auf der großen ersten Seite nach unten scrolle oder auch mit der Maus schiebe, hat es gecrasht, macht es momentan gerade nicht!

Ich arbeite mit diesem Telefon-Internet-Log-Buch, bin ohne eigentlich aufgeschmissen. Deshalb brauche ich erst ein wenig Ruhe, um den Fehler wieder zu provozieren und dann nach der Ursache zu forsten.

Ich melde mich hier auf jeden Fall wieder ...

Bis dahin nochmals vielen Dank für Deine Mühe in diesem Forum :D , auf dass Deine Kräfte weiter dafür reichen, toi, toi, toi!
herz4
:? 2019-08-17 Linux Mint 19.1 Cinnamon 4.0.10, Linux-Kernel 4.15.0-58-generic LO Version: 6.0.7.3, Build-ID: 1:6.0.7-0ubuntu0.18.04.8 HSQL Database Engine 2.4.1 extern mit org.hsqldb.jdbcDriver :oops:

herz4
Beiträge: 14
Registriert: Sa 17. Dez 2016, 16:11

Re: Formularabsturz

Beitrag von herz4 » Sa 17. Aug 2019, 08:53

Mein beschriebener Fehler tritt immer noch auf.

Alle Lösungsansätze hier und weitere habe ich bisher erfolglos probiert.

Seit gestern habe ich jedoch eine neue Arbeitshypothese: Es könnte ein Graphikkarten- oder -treiberproblem sein, welches ich auch nicht - allein - zu lösen vermag. Wie komme ich zu dieser Vermutung?

Meine häufig benutzen Formulare werden mittels oFrame.ContainerWindow.SetPosSize(lX,lY,lBREITE,lHOEHE,15) in Größe und Position immer gleich fixiert. Dies funktioniert nicht mehr einwandfrei. Mal tadellos, dann wieder nicht, ohne erkennbare Regelmäßigkeit oder Voraussetzung. Fast durch Zufall - oder aus Verzeiflung - probierte ich zuletzt erfolgreich ein Zerpflücken des Befehls. Zunächst nur Größe einstellen mit oFrame.ContainerWindow.SetPosSize(lX,lY,lBREITE,lHOEHE,12), dann nach kurzem Wait 10(ms) Position mit oFrame.ContainerWindow.SetPosSize(lX,lY,lBREITE,lHOEHE,3) und anschließendem abermaligen Wait jedoch mit mind. 500ms(!), sonst wird auch so die Position "ignoriert".

Irgendetwas arbeitet da nicht "schnell" genug, das könnte eventuell auch Auslöser für die fatalen Abstürze beim Scrollen im Formular sein. Sollte ich diese "Frage" in ein geeigneteres Forum stellen, Hardware, GraKa?
:? 2019-08-17 Linux Mint 19.1 Cinnamon 4.0.10, Linux-Kernel 4.15.0-58-generic LO Version: 6.0.7.3, Build-ID: 1:6.0.7-0ubuntu0.18.04.8 HSQL Database Engine 2.4.1 extern mit org.hsqldb.jdbcDriver :oops:

RobertG
Beiträge: 1933
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Formularabsturz

Beitrag von RobertG » Sa 17. Aug 2019, 10:48

Hallo herz4,

Wann löst denn das Makro aus? Doch nur zum Start des Formulars, oder?

Was hast Du denn für eine Grafikkarte? Ich habe seit vielen Jahren immer nur Rechner mit der Intel-Onboardgrafik genutzt, weil die zum Linuxstandard gehört.

Gruß

Robert

herz4
Beiträge: 14
Registriert: Sa 17. Dez 2016, 16:11

Re: Formularabsturz

Beitrag von herz4 » Sa 17. Aug 2019, 12:24

Guten Tag Robert,

ich danke Dir für Deine schnelle Nachfrage.

Das Makro wird durch das Formularereignis "Beim Laden" - also nach dem (ersten) Laden - aufgerufen.

Zur Frage GraKa, inxi -Fz liefert:
Graphics:
Device-1: NVIDIA GK208B [GeForce GT 710] driver: nvidia v: 430.26
Display: x11 server: X.Org 1.19.6 driver: nvidia
unloaded: fbdev,modesetting,nouveau,vesa resolution: 1920x1080~60Hz
OpenGL: renderer: GeForce GT 710/PCIe/SSE2 v: 4.6.0 NVIDIA 430.26

Ich kann bestätigen, dass Intel-Onbordgraphik gut von Linux (Mint 17.1, 18.2) unterstützt wird. Auch meine "alte" Nvidia GeForce GT 710 wurde von 18.2, wenigstens 32bit tadellos angesteuert. Aber jetzt, mit 64bit und 19.1 ...

Ich bin für jede - auch "Kaffeesatzlesende" - Anregung dankbar.

Mit bestem Gruß
herz4
:? 2019-08-17 Linux Mint 19.1 Cinnamon 4.0.10, Linux-Kernel 4.15.0-58-generic LO Version: 6.0.7.3, Build-ID: 1:6.0.7-0ubuntu0.18.04.8 HSQL Database Engine 2.4.1 extern mit org.hsqldb.jdbcDriver :oops:

RobertG
Beiträge: 1933
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Formularabsturz

Beitrag von RobertG » Sa 17. Aug 2019, 17:42

Hallo herz4,

ich hätte das Makro auch "Beim Laden" verankert. Schreibe einfach einmal ans Ende des Makros eine Messagebox, die irgendeine Meldung ausgibt ("Fenster eingestellt"), damit Du sicher erkennen kannst, ob nicht aus unerfindlichen Gründen das Makro bei irgendwelchen anderen Aktionen wieder neu ausgelöst wird.

Ich habe von den NVIDIA-Treibern nicht die große Ahnung, aber nach dem, was ich daraus lese ist das nicht der Treiber, der durch NVIDIA zur Verfügung gestellt wird, oder?

Gruß

Robert

Antworten