Hallo Stephan,
entschuldige meine späte Reaktion.
1. unter 3.1 führt ThisComponent.Parent.store() zu Fehlern im folgenden Programmablauf. Es scheint, daß Du darauf unter 3.1 verzichten kannst. Ist ja ohnehin eine reine Vorsichtsmaßnahme gewesen.
2. Dein Problem daß beim schließen der Startroutine alle offenen Fenster stehen bleiben, kenne ich.
Ich habe für diesen Fall in die Main-Routine jedes Formulars eingebaut, daß ThisComponent in einem globalen Array gespeichert und beim schließen des Formulars wieder daraus entfernt wird.
So kann ich beim schließen der Startanwendung noch schnell überprüfen, ob noch Fenster offen und damit zu schließen sind.
In einer Schleife arbeite ich dieses Array ab und schließe alle Fenster.
Hilft das? Oder hast Du schon eine (vielleicht bessere) Lösung gefunden? Würde mich interessieren.
Gruß eBayer
Formular schließen?
Moderator: Moderatoren
Re: Formular schließen?
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Re: Formular schließen?
Hallo eBayer,
danke für deine Antwort. Mit dem schliessen aller Formulare habe ich es jetzt so gemacht, dass ich immer die "Mutter"-Anwendung (Datenbank) starte und mit dem Code meines letzten Beitrages das Hauptfenster minimiere, sowie mein Startformular öffne.
Aber wie schon gesagt: Die Datenkonsistenz ist noch nicht richtig gewährleistet.
Mit diesem Fensteraufruf ja:
Aber mit diesem Code nicht:
Zumindest komme ich ja mit der ersten Variante zurecht.
Hättest du auch noch eine Idee bei dieser Frage: http://www.oooforum.de/viewtopic.php?f= ... 3e#p108189
Noch einen schönen Abend
danke für deine Antwort. Mit dem schliessen aller Formulare habe ich es jetzt so gemacht, dass ich immer die "Mutter"-Anwendung (Datenbank) starte und mit dem Code meines letzten Beitrages das Hauptfenster minimiere, sowie mein Startformular öffne.
Aber wie schon gesagt: Die Datenkonsistenz ist noch nicht richtig gewährleistet.
Mit diesem Fensteraufruf ja:
Code: Alles auswählen
Sub Formularoeffnen
Dim prop(1) as New com.sun.star.beans.PropertyValue
Dim dbContext As Object
dbContext = createUnoService("com.sun.star.sdb.DatabaseContext")
oDataSource = dbContext.GetByName("DB")
oForms = oDataSource.DatabaseDocument.FormDocuments
oForms.loadComponentFromURL("STARTFORMULAR","_blank",63,prop())
End Sub
Code: Alles auswählen
Dim Context AS Object
Dim Conn As Object
Dim DB As Object
Dim FormDoc As Object
Dim Args(1) As New com.sun.star.beans.PropertyValue
Dim FormName As String
FormName = "STARTFORMULAR"
Context=CreateUnoService("com.sun.star.sdb.DatabaseContext")
DB=Context.getByName("DB")
Conn=DB.getconnection("","")
Args(0).Name="ActiveConnection" : Args(0).Value=Conn
Args(1).Name="OpenMode" : Args(1).Value="open"
FormDoc=DB.DatabaseDocument.FormDocuments.loadComponentFromURL(FormName,"_self",2,Args)
FormDoc.CurrentController.Frame.ContainerWindow.setFocus()
Hättest du auch noch eine Idee bei dieser Frage: http://www.oooforum.de/viewtopic.php?f= ... 3e#p108189
Noch einen schönen Abend
Gruß
Stephan
LibreOffice 5.3 - MAC OS/X 10.11
Stephan
LibreOffice 5.3 - MAC OS/X 10.11