[SOLVED] Eventhandler Aufruf einer Function mit Übe
Verfasst: 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
Hier die Subroutine des Eventhandlers, welche die Function "selectangebfile" aufruft. Als Übergabeparameter ist hier "file:///Search/Path" mitgegeben.
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]
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
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 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]