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
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.
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?
lg jakob