Seite 1 von 1

Lade-Dialog

Verfasst: Fr 8. Mär 2019, 18:32
von Alletkla
Hallo liebes Lo-Forum,
ich versuche nun schon einige Zeit die Dialogfunktion von LO zu verstehen, aber finde keine Dokumentationen dazu:

Ich versuche einen "Ladedialog" zum initialisieren meiner DB anzuzeigen, da "oController.connect()" sehr lange braucht und ich vorher keine Form öffnen kann.

dafür nutze ich bisher:

Code: Alles auswählen

SUB StartDialog(iX,iY,iWidth, iHeight as Integer)
	oDialog1 = CreateUnoDialog(DialogLibraries.Standard.Ladebildschirm)
	oDialog1.setVisible(true)
	oDialog1.setPosSize(oDialog1.PosSize.X, oDialog1.PosSize.Y, iWidth, iHeight,15)
	Progbar = oDialog1.getControl("PB1")
END SUB
Allerdings schließt sich der Dialog unmittelbar nach dem öffnen wieder.

Code: Alles auswählen

SUB open_main_form(oEvent as Object)
	oDoc = thisDatabasedocument
	oForm1 = odoc.formdocuments.getbyname("Suchmaske")
	oForm2 = odoc.formdocuments.getbyname("Eingabe Bilddaten Ortsarchiv")
	GlobalScope.BasicLibraries.LoadLibrary("Tools")
	GlobalScope.BasicLibraries.LoadLibrary("Access2Base")
	DialogLibraries.loadLibrary("Standard")
	
	StartDialog(150,50,1050,650,15)
	Progbar.value = 10	
	MainFrame = ThisDatabasedocument.CurrentController.Frame	
	FormularAusblenden(2)
	
	Progbar.value = 30
	
	oController= ThisDatabaseDocument.CurrentController
	If NOT (oController.isConnected() ) Then oController.connect()
	
	Progbar.value = 80

	Datenbankbackup(5)
	
	odoc.formdocuments.getbyname("Startformular").open
	
END SUB
nach Progbar.value = 30 schließt sich der Dialog.


Weiterhin schließen meine so geöffneten Dialoge sich auch so einfach von allein???


Hat jemand dazu eine Lösung?
Vielen Dank

Re: Lade-Dialog

Verfasst: Sa 9. Mär 2019, 14:33
von F3K Total
Moin,
versuche mal dies:

Code: Alles auswählen

SUB open_main_form(oEvent as Object)
	oDoc = thisDatabasedocument
	DialogLibraries.loadLibrary("Standard")
	oDialog1 = CreateUnoDialog(DialogLibraries.Standard.Ladebildschirm)
	Progbar = oDialog1.getControl("PB1")
        oDialog1.setVisible(true)
	Progbar.value = 30
	oController = ThisDatabaseDocument.CurrentController
	If NOT (oController.isConnected() ) Then oController.connect()
	Progbar.value = 80
	oDialog1.Title = "Verbindung wurde hergestellt"
	wait 1000
	Progbar.value = 100
	wait 500
	oDialog1.setVisible(false)
	oDialog1.dispose()
	odoc.formdocuments.getbyname("Startformular").open
END SUB
Gruß R

Re: Lade-Dialog

Verfasst: So 10. Mär 2019, 11:52
von Alletkla
Hi,
Vielen dank, dein Code brachte nicht den gewünschten Erfolg, zeigte mir aber den Fehler.
Ich startete den Dialog, bevor ich mit

Code: Alles auswählen

MainFrame = ThisDatabasedocument.CurrentController.Frame
den Frame zum ausblenden abgerufen habe. Demzufolge wurde nicht die Base-Startseite ausgeblendet, sondern direkt der Dialog :?

Sehr dummer Fehler.

Aber vielen dank für die ja dann doch indirekte Hilfe :D
Schönes Restwochende