🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Unterschiedliches Verhalten beim Schließen von Dateien

Alles zur Programmierung im LibreOffice.
toni007
Beiträge: 34
Registriert: Mi 31. Okt 2012, 12:31

Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von toni007 » Di 11. Dez 2012, 15:42

Hallo zusammen,

wir arbeiten z. Zt. mit Ubuntu 10.4 und OO 3.2.
Demnächst wechseln wir auf Ubuntu 12.04 mit LibreOffice 3.5.4.2.

In meiner Anwendung öffne aus einer Calc-Datei eine weitere Calc-Datei und schließe die aufrufende Datei dann wieder. Beides passiert in einem Makro, dass an das Ereignis 'Dokument öffnen' gebunden ist.
Es ist dann nur noch die aufgerufene Datei offen.

Unter OO 3.2 hat das immer einwandfrei geklappt. Unter LO 3.5 schmiert der LO-Prozess ab (falls ein weiteres LO-Dokument oder die IDE offen ist, klappt es übrigens).
Ich habe es mit

Code: Alles auswählen

ThisComponent.Close(True) 
und

Code: Alles auswählen

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:CloseDoc", "", 0, Array())
beide klappt unter LO3.5 nicht.

Aus dem Terminal heraus gestartet, gibt es auch eine Fehlermeldung, mit der ich allerdings nichts anfangen kann:
soffice.bin: tpp.c:63: __pthread_tpp_change_priority: Zusicherung >>new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)<< nicht erfüllt.
Wann hat sich das Verhalten geändert, erst mit LO oder auch schon unter OO >3.2?
Ist es ein Bug oder hat die Änderung einen Grund?
Kann ich die Funktionalität auch anders erreichen?

Ich habe mal zwei Dateien angehängt, mit denen man das Verhalten nachstellen kann.

Gruß

Thomas
Dateianhänge
Absenderdaten.ods
aufgerufene Datei
(18.99 KiB) 304-mal heruntergeladen
CloseTest.ods
aufrufende Datei
(12.54 KiB) 348-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von F3K Total » Di 11. Dez 2012, 20:10

Hallo,
ich glaube unter LO sind die Dispatcher-Befehle standardmäßig ausgeschaltet, einschalten geht über Extras/Optionen/LibreOffice->allgemein.
Ich würde sie nicht mehr verwenden, hatte selbst große Probleme damit.
Dein Makro läuft bei mir, unter Linux Mint, wenn es so geändert wird:

Code: Alles auswählen

Sub Main
	Call Einstieg
	ThisComponent.Close(True)
End Sub
Viel Erfolg, Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von gogo » Mi 12. Dez 2012, 00:20

Hi.

In welchem Modul steht das Close-Makro? Es funktioniert nur dann "richtig", wenn es ausserhalb des Dokumentes das gerade aktiv ist gespeichert ist, ansonsten kommt es zu einem Konflikt zwischen der Close Methode und dem Modul in dem sich das Makro befindet.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von F3K Total » Mi 12. Dez 2012, 05:27

gogo hat geschrieben:Es funktioniert nur dann "richtig", wenn es ausserhalb des Dokumentes das gerade aktiv ist
...
Moin gogo,
das stimmt leider nicht. Anbei ein Beispiel.
Gruß R
Dateianhänge
closedoc.zip
nur entpacken
(8.5 KiB) 339-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von gogo » Mi 12. Dez 2012, 17:27

Jep, bei Standalone-Dokumenten - bei Base-Dateien wuerde ich die Finger davon lassen.

Statt dem Makro mit einem kalten Kill wuerde ich persoenlich dem Button die Eigenschaft "Open document/webpage" zuweisen, und den uno-Befehl: .uno:closedoc verwenden. Das entspricht dem Befehl ueber das Menue und ist plattformunabhaengig ein sehr sauberes Schliessen (und spart Code ;)
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

toni007
Beiträge: 34
Registriert: Mi 31. Okt 2012, 12:31

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von toni007 » Do 13. Dez 2012, 11:35

Hallo R,

bei mir schmiert LO weiterhin ab, wenn auch manchmal erst nach dem zweiten Starten der Datei.

Ubuntu wirft dann folgenden Fehler raus:
Entschuldigung, Ubuntu 12.04 hat einen internen Fehler festgestellt.
Wie gesagt, wenn der LO-Prozess bereits gestartet ist (d.h. ein anderes LO-Dokument oder die IDE geöffnet ist) gibt es keine Probleme.

Gruß

Thomas

paulderfinne
Beiträge: 71
Registriert: Mi 20. Feb 2013, 13:49

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von paulderfinne » Sa 24. Jan 2015, 09:27

schliessen_test.zip
(8.4 KiB) 247-mal heruntergeladen
Darf ich mich hier mit anhängen. Ich habe auch ein (das gleiche?) Schließenproblem. Ich habe ein Template, an dem ein Makro höngt, das ich einfach schließen will. Aber irgendwie bleibt da noch was offen. Wenn ich das von der Bash aus startet, hängt die Bash nach dem Schließen und ich muss das mit ctr+c abbrechen. In Wirklichkeit aber rufe ich das Template von einem ganz anderen Programm auf zu dem es dann nicht mehr zurückkehrt. Das Problem anders anzugehen, wie in einigen Foren vorgeschlagen, scheinen alle auf eine "Objektvariable nicht definiert" zu führen. (Wie in dem auskommentierten Teil).

Ich überlege schon, ob ich auf einen harten "killall" über die Bash gehe, aber das ist natürlich nicht sehr schön. Hat jemand eine Idee?

paulderfinne
Beiträge: 71
Registriert: Mi 20. Feb 2013, 13:49

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von paulderfinne » Sa 24. Jan 2015, 13:41

Jetzt bin ich es selber nochmal: Versuche ich die Schließung per shell("killall usw..) schließt die Anwendung logoscherweise, ich habe sie ja "umgebracht". Beim nächsten Öffnen, meckert LO aber, dass die Datei "Unbenannt" nicht ordentlich abgeschlossen wurde. (Was ja auch stimmt). Kann ich diese Prüfung irgendwie umgehen?

Es muss aber doch auch möglich sein, dasselbe per Makro zu tun, was ,man auch tut wenn man die Datei händisch schließt.

paulderfinne
Beiträge: 71
Registriert: Mi 20. Feb 2013, 13:49

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von paulderfinne » So 25. Jan 2015, 09:13

Hallo liebe Gemeinde,

hat keiner eien Idee? Drücke ich mich zu nebulös aus? Ich denke im Prinzip geht es darum, das komplette Programm LibreOffice ganz schließen und nicht nur das Fenster. Wenn ich per Makro mit thiscomponent.close() schließe, ist das Programm noh offen. Ein ps uax gibt u.a folgenden Zeilen:
  • paul 5653 0.0 0.5 32600 5212 pts/2 Sl+ 08:52 0:00 /usr/lib/libreoffice/program/oosplash schliessen_test.ott
    paul 5670 0.3 12.2 223120 125452 pts/2 Sl+ 08:52 0:03 /usr/lib/libreoffice/program/soffice.bin schliessen_test.ott -
Erst ein strg+c von der Shell aus wo LibreOffoce gestartet wurde beendet das Programm. Das sollte aber vom Makro aus gelingen.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Unterschiedliches Verhalten beim Schließen von Dateien

Beitrag von F3K Total » So 25. Jan 2015, 12:18

Hi,
Vielleicht hilft dir der Suchbegriff

Code: Alles auswählen

Stardesktop.Terminate
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten