Seite 1 von 2
Problem beim Aufruf eines Dialogs
Verfasst: Mo, 31.07.2006 12:51
von Mihilist
Moin
Ich hab da irgendwie ein Problemchen mit dem Aufrufen von Dialogen. Folgenden Code hab ich mir irgendwo geklaut
Code: Alles auswählen
Sub zeige_dia
dlg = CreateUnoDialog(DialogLibraries.Standard.diaNeuerEintrag)
dlg.Execute
End Sub
Allerdings kommt beim ersten Aufruf des Makros eine Fehlermeldung "Aktion nicht unterstützt. Ungültiger Prozedur-Aufruf" (bei der CreateUnoDialog-Zeile). Klicke ich OK und rufe das Makro erneut auf funktioniert es...
Nicht grade Anwenderfreundlich, wenn ich sage "ignoriert den Fehler, klickt den Basic-Code weg und arbeitet weiter"

Verfasst: Mo, 31.07.2006 14:05
von Mihilist
Hab noch ein bissl weitergearbeitet... Inzwischen geht garnix mehr. Der Dialog wird mir bei den anderen Makros nichtmehr angezeigt, "Dialoge Verwalten" führt zum Programmabsturz, ebenso obiges Makro zum Dia starten... O_o
Verfasst: Mo, 31.07.2006 21:48
von Charly
Hallo Mihilist!
Mit dem Aufrufen von Dialogen hatte ich bisher keine Probleme. Dass beim ersten Aufruf eine Fehlermeldung kommt, könnte möglicherweise damit zu tun haben, dass deine Bibliothek noch nicht aktiv ist, obwohl die Standardbibliothek immer geladen sein sollte - aber man weiß nie.
Ich habe meine Aufrufe zur Sicherheit immer in Teilschritten vorgenommen und das hat bisher auch geklappt:
Code: Alles auswählen
DialogLibraries.loadLibrary("Standard")
oLib = DialogLibraries.getByName("Standard")
oLibDlg = oLib.getByName("Dialog1")
oDialog = CreateUnoDialog(oLibDlg)
oDialog.execute()
gruß
Charly
Verfasst: Di, 01.08.2006 14:08
von Toxitom
Hey Mihilit,
Charly hat dir eine Lösung genannt.
Du kannst aber auch deinen Code verwenden - musst aber sicherstellen, dass die Dialogbibliothek auch "geladen" ist.
Das kann durch eine erste Zeile geschehen:
Code: Alles auswählen
Sub zeige_dia
DialogLibraries.loadLibrary("Standard")
dlg = CreateUnoDialog(DialogLibraries.Standard.diaNeuerEintrag)
dlg.Execute
End Sub
Dies kann aber auch in einem anderen Makro passieren, das vorher läuft. Die Standard-Dialogbibliothek wird nicht automatisch geladen!
Gruss
Thomas
Verfasst: Do, 14.09.2006 13:07
von Mihilist
Mal so eine grundsätzliche Frage zu Dialogen: Kann es sein, dass man am besten die Finger davon lässt?
Letztens hab ich einen Dia bearbeitet, gespeichert, und am nächsten Tag war er weg... Heute lade ich einen Dia, und es kommt beim Laden der Fehler irgendeine Fehlermeldung, danach ist der Dia weg. Inzwischen ist der zweite meiner drei Dialoge weg.
Makros verwalten -> Dialoge anzeigen führt zum Absturz von OOo.
Irgendwie hab ich nur Ärger mit den Dingern... Leider kann ich sie nicht komplett ignorieren, weil ich an einigen Stellen einfach Informationen brauch bevor ich eine Aktion durchführen kann... Jemand irgendwelche brauchbaren Alternativen zu diesen Sch....dialogen?

Nachtrag
Verfasst: Do, 14.09.2006 15:36
von Mihilist
Die Fehlermeldung, die ich bekomme lautet
BASIC Laufzeitfehler.
Es ist eine Exception aufgetreten
Type: com.sun.star.xml.sax.SAXParseException
Message: [Name.xml line 35] invalid tokenerror.
Danach ist der Dialog verschwunden...
Verfasst: Do, 14.09.2006 19:37
von Toxitom
Hey Mihilist,
Kann es sein, dass man am besten die Finger davon lässt?
Nein. Ich arbeite sehr viel mit Dialogen - auch in kompletten Anwendungen, die dann teilweise drei oder vier gleichzeitig offen halten - keine Probleme.
Keine Ahnung, was bei dir schief läuft. Die Fehlermeldung deutet auf ein Benennungsproblem von Objekten hin - evt. Schlüsselwörter benutzt, oder doppelt benannt?
Um mehr sagen zu können, müsste ich den completten Code sehn und deine Umgebungsbedingungen kennen.
Aber: Dialoge selbst funktionieren einwandfrei. Da gibt es keine Probleme
Gruss
Thomas
Verfasst: Mo, 18.09.2006 11:59
von Mihilist
Ich bin mal Schritt für Schritt vorgegangen (zum Glück hab ich genügend Sicherheitskopien *g*), und hab festgestellt, dass das Problem auftritt, direkt nachdem ich Controls aus dem Dialog gelöscht hab.
Hattest du schonmal irtgendwelche Probleme beim Löschen von Controls? Sind eine Textbox und das dazu gehörende Labelfield, kann mir nicht vorstellen, wo es dabei Probleme geben könnte...
Verfasst: Mo, 18.09.2006 15:53
von Toxitom
hey Mihilist,
Hattest du schonmal irtgendwelche Probleme beim Löschen von Controls?
Hmm, eigentlich nicht. Aber ausschliessen möchte ich das natürlich auch nicht. Manchmal in den Entwicklungszyklen gibt es doch schon sher "merkwürdeige" Phänomene - Keine aktualisierungen, keine Reaktionen auf Ereignisse (Buttons etc) , nicht reproduzierbar aber eben da. Da hilft dann oft nur ein kompletter Restart (obwohl die Applikationen noch laufen) - entweder nur von OOo oder sogar manchmal vom kompletten Rechner. Danach ist immer wieder alles OK.
Schätze, das hat damit zu tun, dass Reste von Objekten, auftrufen oder ähnlichem im Hauptspeicher verbleiben und dort dann stören???
Jedenfalls: Da ich täglich mit Makros arbeite, es tritt nicht soooo oft auf, dass ich mir Sorgen machen würde - nichts bemerkenswertes - und nicht reproduzierbar.
Also - nein, keine Probleme beim Löschen von Controls
Gruss
Thomas
Verfasst: Mo, 18.09.2006 16:11
von Mihilist
Bei mir ist es durchaus reproduzierbar...
Und das beschriebene Wunder von Microsoft ("einfach ma neustarten..." ^^) bringt auch nichts, dadurch wird's erst ausgelöst: Ich lösche das Control, alles funktioniert. Ich speichere, beende, starte neu, und dann kommt oben genannter Fehler, und zwar bei allen Dialog-Aufrufen (wobei alle in Standard sind)
Verfasst: Mo, 18.09.2006 16:14
von Toxitom
Hey Mihilist,
langsam machst du mich neugierig. Sind Geheimnisse in der Datei? Wenn nicht, so schick Sie mir doch mal mit PM. Das würde ich mir doch gerne mal ansehen - inklusiv einer exakten Schrittfolge, wie du den Fehler aktivierst.
Mal sehn, ob ich den auch reproduuieren kann
Gruss
Thomas
Verfasst: Mo, 18.09.2006 16:43
von Mihilist
Kann man hier Dateien an PMs anhängen...?
Naja, der Code enthält an sich keine Geheimnisse, aber Informationen zum DB-Aufbau, und die DB gehört nicht mir, sondern der Firma *g* Wobei der Aufbau nicht so spektakulär ist, eigentlich. Personen-DB halt...
Wenn du ohne die DB was mit dem Code und den Dias anfangen kannst kann ich's dir schicken.
Verfasst: Mo, 18.09.2006 17:38
von Toxitom
Hey Mihilist,
Wenn du ohne die DB was mit dem Code und den Dias anfangen kannst kann ich's dir schicken.
Nur dann, wen ich den Fehler reproduzieren kann ohen auf dei Datenbank zugreifen zu müssen
Wenn also die Datenbank-funktionen nur über Makros und Knöpfe verknüpft sind und nicht über den Code zum Aufruf der Dialoge direkt, schick es. Zur not kann ich die entsprechenden Zeilen auskommentieren.
Kann man hier Dateien an PMs anhängen...?
Gute Frage
Aber OK, nut die Adresse:
tk (at) mic-consulting.de
Gruss
Thomas
Verfasst: Mo, 18.09.2006 19:52
von turtle47
Hallo Mihilist,
kann mich Deinen Erfahrungen nur anschließen.
Habe heute auch wieder mit Dialog und Makros gearbeitet,
anschließend gespeichert und die Anwendung geschlossen.
Nach öffnen der Datei war ein Teil der Makros verschwunden.
Hatte auch Controls drin, die ich definitiv gelöscht habe und jetzt sind die wieder da.
Ist mir letzte Woche auch schon mal passiert.
Dachte ich hätte nicht gespeichert. Diesmal weis ich aber ganz genau, dass ich es gemacht habe.
Ausserdem fragt ja die Anwendung ja auch bei schließen ob man Speichern, Verwerfen oder Abbrechen möchte.
Jürgen
Verfasst: Di, 19.09.2006 13:14
von Mihilist
Na da bin ich ja froh, dass ich nicht der einzige bin...
@Thomas: Hast du mal bei dir versucht wie beschrieben Controls zu löschen, speichern, neustarten? Anscheinend liegt es ja doch nicht an meiner Datei...
Hab übrigens OOo 2.0.2 und WinXP Prof mit SP2