Hallo,
ich habe noch ein kleines Problem beim Beenden eines Dialoges (vermutlich ein Formfehler). Nach dem Beenden des Dialoges wird immer das OO-Basic Fenster geöffnet (es sei denn, es ist schon geladen).
Zur Verdeutlichung habe ich ein entsprechendes Beispiel angefügt. Wo liegt mein Fehler?
Gruss Klaus
[gelöst]Nach dem Schliessen des Dialoges öffnet sich das OO-
Moderator: Moderatoren
[gelöst]Nach dem Schliessen des Dialoges öffnet sich das OO-
- Dateianhänge
-
- Test.ott
- (10.58 KiB) 135-mal heruntergeladen
Zuletzt geändert von HHTiger am Fr, 21.12.2012 15:13, insgesamt 1-mal geändert.
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Nach dem Schliessen des Dialoges öffnet sich das OO-Basi
Veilleicht noch ein zusätzlicher Hinweis:
wenn ich nach dem Befehl
......execute()
auch noch folgende Befehl nutze
......dispose()
kommt es 3 mal zu der Fehlermeldung: BASIC-Laufzeitfehler. Eigenschaft oder Methode nicht gefunden: $(ARG1).
Gruß Klaus
wenn ich nach dem Befehl
......execute()
auch noch folgende Befehl nutze
......dispose()
kommt es 3 mal zu der Fehlermeldung: BASIC-Laufzeitfehler. Eigenschaft oder Methode nicht gefunden: $(ARG1).
Gruß Klaus
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Nach dem Schliessen des Dialoges öffnet sich das OO-Basi
Eines hatte ich noch vergessen zu erwähnen: Die Foren-Suche habe ich selbstverständlich ausgiebig genutzt und es gibt auch dutzende Treffer auf die Fehlermeldung, allerdings konnte ich aus keinem Beitrag einen Tipp entnehmen, der mir hätte helfen können. Ich vermute einmal, daß es irgendwie im Zusamenhang mit dem Event-Listener steht und das beide Probleme dieselbe Ursache haben.
Da dies meine ersten "Gehversuche" mit OO-Basic sind habe ich mir den Code aus allen möglichen Quellen zusammengesetzt. Leider konnte ich nirgends ein komplettes Beispiel mit einem funktionierenden Dialog mit 3 Buttons finden, das ich als Basis hätte nutzen können.
Ich muss nicht zwangsläufig diesen Code verwenden, es gibt ja bekanntlich viele Wege, die nach Rom führen. Vielleicht gibt es ja auch eine viel einfachere Variante ... bin für jeden Tipp dankbar.
Gruss Klaus
Da dies meine ersten "Gehversuche" mit OO-Basic sind habe ich mir den Code aus allen möglichen Quellen zusammengesetzt. Leider konnte ich nirgends ein komplettes Beispiel mit einem funktionierenden Dialog mit 3 Buttons finden, das ich als Basis hätte nutzen können.
Ich muss nicht zwangsläufig diesen Code verwenden, es gibt ja bekanntlich viele Wege, die nach Rom führen. Vielleicht gibt es ja auch eine viel einfachere Variante ... bin für jeden Tipp dankbar.
Gruss Klaus
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Nach dem Schliessen des Dialoges öffnet sich das OO-Basi
Hallo Klaus,
ich weiß nicht warum Du mit einem "MouseClick...XActionListener" arbeiten willst. Da Du aber einen IDE-Dialog erstellt hast, kannst Du doch dort den einzelnen Elmenten, wie z.B. den CommandButtons, auf dem Reiter "Ereignisse" Makros zuordnen. Und genau das habe ich jetzt mal gemacht. Ferner habe ich alles aus deinem Makro rausgeschmissen was nach meiner Ansicht überflüssig ist.
Schau dir mal den Code und vor allem die Buttons etwas genauer an.
Gruß
balu
ich weiß nicht warum Du mit einem "MouseClick...XActionListener" arbeiten willst. Da Du aber einen IDE-Dialog erstellt hast, kannst Du doch dort den einzelnen Elmenten, wie z.B. den CommandButtons, auf dem Reiter "Ereignisse" Makros zuordnen. Und genau das habe ich jetzt mal gemacht. Ferner habe ich alles aus deinem Makro rausgeschmissen was nach meiner Ansicht überflüssig ist.
Schau dir mal den Code und vor allem die Buttons etwas genauer an.
Gruß
balu
- Dateianhänge
-
- Test_Dlg.ott
- (10.47 KiB) 136-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Nach dem Schliessen des Dialoges öffnet sich das OO-Basi
Hallo balu,
Das bedeutet dann wohl, daß es in OO-Basic bereits einen Standard Event-handler gibt und man nicht explizit einen "ActionListener" definieren bzw verwenden muss.
Das kommt dabei raus, wenn man keine Ahnung hat
Schande über mein Haupt ... 
Ich habe den Dialog schnell mal auf einen 3. Button erweitert, der nur einfach eine Meldung ausgibt um zu prüfen, ob es für mich paßt und ob ich alles verstanden habe.
Zusätzlich habe ich "Option Explicit" vereinbart, um zu sehen ob auch alle Variablen richtig angelegt sind. Und ich habe "glb_oDlg.dispose()" hinzugefügt, um alle Recourcen des Dialoges wieder freizugeben. Das funzt jetzt alles OHNE Probleme .... keine Fehlermeldung mehr und auch kein Code-Fenster mehr.
Damit müßte der Code jetzt alles enthalten, was wichtig und nötig ist um als "sauber" zu gelten, richtig?
Tausend Dank für die schnelle Hilfe! Damit ist dieses Problem komplett gelöst 
btw: kann oder muss ich diesen Beitrag jetzt noch iregendwie als erledigt kennzeichen oder abschliessen? In den "Allgemeine Hinweise zur Forumsbenutzung" bin ich dazu nicht fündig geworden.
das kann ich Dir auch nicht beantworten. Das was das einzige Beispiel, dass ich finden konnte, um die CommandButtons zum arbeiten zu bewegen. Jetzt weiß ich auch warumich weiß nicht warum Du mit einem "MouseClick...XActionListener" arbeiten willst.

Das bedeutet dann wohl, daß es in OO-Basic bereits einen Standard Event-handler gibt und man nicht explizit einen "ActionListener" definieren bzw verwenden muss.
Das kommt dabei raus, wenn man keine Ahnung hat


Ich habe den Dialog schnell mal auf einen 3. Button erweitert, der nur einfach eine Meldung ausgibt um zu prüfen, ob es für mich paßt und ob ich alles verstanden habe.
Zusätzlich habe ich "Option Explicit" vereinbart, um zu sehen ob auch alle Variablen richtig angelegt sind. Und ich habe "glb_oDlg.dispose()" hinzugefügt, um alle Recourcen des Dialoges wieder freizugeben. Das funzt jetzt alles OHNE Probleme .... keine Fehlermeldung mehr und auch kein Code-Fenster mehr.
Damit müßte der Code jetzt alles enthalten, was wichtig und nötig ist um als "sauber" zu gelten, richtig?
Code: Alles auswählen
Option Explicit
Dim glb_oDlg As Object
Sub Main
DialogLibraries.loadLibrary("Standard")
glb_oDlg = CreateUnoDialog(DialogLibraries.Standard.MyDialog)
glb_oDlg.execute()
glb_oDlg.dispose()
End Sub
Sub MouseClick_actionPerformed(oEvent)
Select Case oEvent.Source.Model.Name
Case = "cmdOK"
MsgBox "OK-Button wurde betätigt!"
Case = "cmdAbbruch"
MsgBox "Abbruch-Button wurde betätigt!"
Case = "cmdMessage"
MsgBox "Meldungs-Button wurde betätigt!"
Exit Sub
End Select
glb_oDlg.endExecute
End Sub

btw: kann oder muss ich diesen Beitrag jetzt noch iregendwie als erledigt kennzeichen oder abschliessen? In den "Allgemeine Hinweise zur Forumsbenutzung" bin ich dazu nicht fündig geworden.
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate