Problem bei Aufruf eines Dialoges

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

wasgedkongred
*
Beiträge: 10
Registriert: Mo, 22.08.2005 19:52

Problem bei Aufruf eines Dialoges

Beitrag von wasgedkongred »

Hallo Leute,

habe ein Problem bei Aufruf eines Dialoges, wenn der Makro-Editor nicht gleichzeitig geöffnet ist. Bekomme dann immer eine Fehlermeldung:
"ungültiger Prozeduraufruf"

mein Code:

Code: Alles auswählen

	dlgBeschreibung = globalscope.DialogLibraries.Standard.MainDlg
	dlg = createUnoDialog(dlgBeschreibung)
MainDlg ist ein Dialog, der mit dem Dialogassistenten erstellt wurde.
Wenn der Editor dann gleichzetig mit der Fehlermeldung aufgeht oder ich ihn von vornherein offen habe, dann gibt es kein problem...

danke schon mal im voraus,
wasgedkongred
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey wasgedkongred,

mir fehlt in deinen Codezeilen das Laden des Dialoges? Vergessen oder gar nicht vorhanden?
Also die Zeile

Code: Alles auswählen

globalscope.DialogLibraries.LoadLibrary("Standard")
Und zwar bevor du Deine zwei Zeilen schreibst.
Versuch es mal.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
wasgedkongred
*
Beiträge: 10
Registriert: Mo, 22.08.2005 19:52

Beitrag von wasgedkongred »

danke für den tip, aber obwohl mein code jetzt so aussieht:

Code: Alles auswählen

Sub Main
	dim dlgBeschreibung as object
	dim dlg as object
	Globalscope.DialogLibraries.LoadLibrary("Standard")
	 dlgBeschreibung = DialogLibraries.Standard.DialogTest
	dlg = createUnoDialog(dlgBeschreibung)
	dlg.execute
End Sub
bekomme ich immer noch die fehlermeldung "ungültiger prozeduraufruf", wenn ich nicht gleichzeitig den makroeditor geöffnet habe.
was du hier siehst, ist mein vollständiger code. ich will damit nur den dialog ohne fehlermeldung öffnen, nicht mehr.
fehlt denn sonst noch irgendwas, was wichtig wäre?
ich benutze übrigens OOo 1.1.4. vllt ist das ja wichtig...

setze ich mit
Globalscope.DialogLibraries.LoadLibrary("Standard")

eigentlich den pfad zur library "standard" in soffice oder zu "standard" in meinem dokument?
die zeile scheint nämlich überhaupt nichts zu machen.
wenn ich sie auskommentiere, dann funktioniert alles immer noch gleich gut/schlecht.....
wasgedkongred
*
Beiträge: 10
Registriert: Mo, 22.08.2005 19:52

Beitrag von wasgedkongred »

so klappts:

Code: Alles auswählen

Sub Macro1
	dim dlgBeschreibung as object
	dim dlg as object	
	Dialoglibraries.Loadlibrary("Standard")
	dlg = CreateUnoDialog(DialogLibraries.Standard.DialogTest)
	dlg.execute() 
End Sub
wasgedkongred
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey wasgedkongred,

mit "globalscope" setzt sucht OOo den Dialog im "übergeordneten" Bereich, also nicht im Dokument. Na ja, nachdem du ja schon den Begriff genutzt hast, dachte ich, dein Dialog ist dort.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten