🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[SOLVED] Eventhandler Aufruf einer Function mit Übe

Alles zur Programmierung im LibreOffice.
Antworten
xundeenergie
Beiträge: 32
Registriert: Do 20. Jun 2013, 17:46

[SOLVED] Eventhandler Aufruf einer Function mit Übe

Beitrag von xundeenergie » Mi 9. Apr 2014, 11:11

Hi!

Ich habe hier ein Formular, welches den Button "CommandButton1" enthält. Ein Klick auf diesen Button soll folgendes tun:

1) Das Verzeichnis, aus dem heraus das File geöffnet wurde, mit dem der Dialog geöffnet wurde nach bestimmten Files durchsuchen.
2) Mit dieser Liste eine ComboBox ("ComboBox1") befüllen
3) Einen weiteren Dialog, in dem diese ComboBox1 enthalten ist, öffnen.
4) Ich wähle eine Option aus, klicke auf OK, und das Item wird in eine Combobox im ersten Dialog eingefügt.

Grundsätzlich hab ich dieses Verhalten schon hinbekommen. Einzig beim Aufruf des zweiten Dialogs schaffe ich es nicht, die Variable des zu durchsuchenden Verzeichnisses an die Funktion zu übergeben, da ich mit Listenern (noch) keine Erfahrung habe.


Hier mein Code:

Die Definition des Listeners und Aufruf des Dialogs

Code: Alles auswählen

Sub Main
...
		Dim myBtn1 As Object
		Dim PDatenDlg as Object
		Dim MouseClick As Object

		Dialoglibraries.Loadlibrary("Standard")
		PDatenDlg=_
		CreateUnoDialog(Dialoglibraries.Aumayer.Projektdaten)
		myBtn1 = PDatenDlg.getControl("CommandButton1")

		MouseClick = CreateUnoListener(" MouseClick_", _
				"com.sun.star.awt.XActionListener")
		myBtn1.addActionListener(MouseClick)

		Rueckwert=PDatenDlg.execute()
...
End Sub
Hier die Subroutine des Eventhandlers, welche die Function "selectangebfile" aufruft. Als Übergabeparameter ist hier "file:///Search/Path" mitgegeben.

Code: Alles auswählen

Sub MouseClick_actionPerformed(oEvent As Object)
	if oEvent.Source.Model.Name = "CommandButton1" Then
		oEvent.Source.Context.getControl("ComboBox1")._
		additem(selectangebfile("file:///Search/Path"),0)
	End If
End Sub
Das funktioniert auch wie gewünscht.

DAS PROBLEM:

Den Search-Path als Übergabeparameter für die Funktion "seletangebfile" möchte ich gerne aus dem Sub Main mitgeben, denn dort ist dieser definiert und ändert sich mit jedem Aufruf... Ich kann ihn also nicht statisch vorgeben.

Wie mache ich es richtig?

[EDIT SOLVE]

Ich habe es jetzt so gelöst, dass ich die notwendigen Informationen über ein ausgeblendetes Textfeld im Dialog übergebe.

[/EDIT]
LibreOffice
Version: 4.1.4.2 Build-ID: 410m0(Build:2) auf Debian Wheezy mit Backports


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten