Ladezeit eines Formulars beobachten/melden

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Ladezeit eines Formulars beobachten/melden

Beitrag von juetho »

Das Laden eines Formulars dauert teilweise etwas länger (naja, es sind nur Sekunden, aber wenn sich auf dem Bildschirm fast nichts tut, kommt man ins Grübeln und weiß nicht, ob man schon arbeiten kann/darf): Kontrollfelder aufbauen, mehrere Tabellen bzw. deren Daten laden und in den Kontrollfeldern anzeigen, dann noch die Symbolleisten ausschalten (mit Roberts Vorschlag im Base-Handbuch S. 250 f.). Erst danach ist die Bearbeitung im Formular möglich und sinnvoll.

Kann man dem Anwender anzeigen, wann das Laden abgeschlossen und die Bearbeitung möglich ist? Es gibt anscheinend keine sinnvolle Möglichkeit, den Mauscursor auf Sanduhr zu setzen (siehe die Suche nach "Sanduhr" unter "Basic"); das Formular hat kein Ereignis, das das Ende des Ladens anzeigt; das Laden der Tabellen hat wohl nichts mit dem Laden des Formulars zu tun. Ich komme nur auf die Idee, das Ereignis "Nach dem Datensatzwechsel" in einem der Formulare zu benutzen und dann eine Formular-Variable "Daten geladen" zu setzen; aber das sieht ziemlich konstruiert aus.

Ob ich die Anzeige mit dem Cursor oder einem zusätzlichen Beschriftungsfeld oder der Statuszeile steuere, ist unwichtig. Aber ich brauche zunächst die Information "Laden abgeschlossen". Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Ladezeit eines Formulars beobachten/melden

Beitrag von F3K Total »

Moin,
im Formular unter Extras/Anpassen gibt es auf dem Reiter Ereignisse: Laden des Dokuments beendet. Ob Dir das hilft?
EDIT: Wohl nicht, hat bei mir keine Wirkung.
EDIT2: Eine möglicher Listener des Formulares ist XLoadListener, der analysiert das Ereignis
loaded: is invoked when the object has successfully connected to a datasource.
Ich vermute, er entspricht dem GUI-Ereignis "beim Laden". Würde dir dann wohl auch nicht helfen?
Gruß R
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Ladezeit eines Formulars beobachten/melden

Beitrag von juetho »

Danke für die Tipps. Zwischen deinen beiden Edits hatte ich die erste Idee verfolgt und bin dazu gekommen, dass das Ereignis "Ansicht wurde erzeugt" schon etwas hilft - zwar nicht unmittelbar, aber praktisch:

Code: Alles auswählen

Sub DocLoaded( oEvent as Object )
msgBox ("Formular wurde geladen")
End Sub
Der Inhalt der MsgBox wird nicht sofort angezeigt, sondern erst während das Formular geladen wird. Aber bis die MsgBox beschriftet ist und bestätigt wurde, ist das Formular fertig geladen. Das genügt mir erst einmal.

Ich muss jetzt nur noch herausfinden, wie ich diese Anzeige auf den Edit-Modus beschränken kann. Ich hatte es schon einmal gelesen, wie die Prüfung auf IsDesignMode zu formulieren ist; das finde ich in der Suche im Moment nicht wieder. Gruß Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Ladezeit eines Formulars beobachten/melden

Beitrag von F3K Total »

Moin, so etwa?

Code: Alles auswählen

sub isdesignmode
    dim bdesignmode as boolean
    bdesignmode = thiscomponent.currentcontroller.isFormDesignMode
    if bdesignmode then
        msgbox "Formular ist im Designmode"
    else
        msgbox "Formular ist nicht im Designmode"
    endif
end sub
... Xray hilft ...
Gruß R
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Ladezeit eines Formulars beobachten/melden

Beitrag von juetho »

F3K Total hat geschrieben:Moin, so etwa?
Ja, das war's!
... Xray hilft ...
Gruß R
Zaunpfahl gesehen. :) Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Antworten