Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-10 Diskussionsfäden Jürgen Klatt

Hallo,

hier ist meine neueste Programmversion downloadbar:
https://c.web.de/@693152299987503749/TEUWlWI8QO-qH48WLyv5Vw

@Hans-Werner
Ich habe mir Deinen sehr interessanten Code angesehen und ausprobiert.
Erst war ich von Deinem Programmierstil etwas verwirrt.
Meine kleinen grauen Zellen konnten aber alles entschlüsseln.

Deine Schleife zum Schreiben und Löschen der Texte ist sehr interessant.
Da aber ggf. noch einige Erweiterungen für mein Programm anstehen, kann
ich diesen Schleifenaufbau so nicht nutzen. Für Schreiben und Löschen
brauche ich für zukünftige Erweiterungen zwei getrennte Routinen.

Besonders schön finde ich die Hilfe.
Den Textaufbau habe ich gleich in meine neue Version eingebaut.

@Alle
Meine Kommentare im Code sind u.U. nicht immer professionell,
aber hoffentlich ausreichend verständlich.
Bin halt nur ein Autodidakt und sonstige Kritik nehme ich auch gerne
entgegen.
Man lernt halt nie aus :-)

Im Dokument habe ich zu meinem Hauptprogramm noch ein Modul
mit dem Namen "xBackUp" abgespeichert. Dieses soll ein kleines Dankeschön
für Eure vielfältige Hilfe und Arbeit sein. Vielleicht habt Ihr Euch
selbst schon so etwas
programmiert, wenn nicht wünsche ich Euch viel Erfolg damit.
Weitere Informationen stehen in den Code-Kommentaren.

Viele Grüße

Jürgen

Am 09.04.2019 um 20:54 schrieb Jürgen Klatt:

Hallo,

Info Bugreport Libo friert ein bei Button-Event "Aktion bestätigen":
https://bugs.documentfoundation.org/show_bug.cgi?id=124628

Viele Grüße

Jürgen

Am 09.04.2019 um 01:19 schrieb OoOHWHOoO:

Hallo Gerhard,

das mit dem "Aufruf über das Dokumentereignis" war (m)eine Notlösung.
Ich habe mich genau an Deine Anweisungen gehalten, hat auch alles
geklappt, aber nur eines nicht: Dass der Dialog mit der Schaltfläche
im WRITER-Dokument erscheint. Im Moment weiß ich noch nicht, was ich
falsch mache:

"[...] bis "Module1" erscheint, das anklicken -> rechts
"btnStart_actionPerformed" anklicken. Dann OK und nochmal OK und
speichern (das speichert den Dialog im Dokument und auch das Dokument
selbst im Dateisystem). [...]".

Mein Problem ist, dass ich das zweite "OK" nicht finde - daran wird es
wohl liegen ...

Grüße
Hans-Werner

-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 08.04.2019 22:29:05
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice
nach Makrodurchlauf


Hallo Hans-Werner,

wenn du die Bedingungen änderst, testest du aber etwas anderes! Schon
nur "zusätzlich" müsste man genau anschauen, aber du hast
"stattdessen" gemacht":
Gerade an der kniffligen Stelle, wo wir schon wissen, dass es mit dem
direkten Aufruf des Makro geht, aber nicht mit dessen Aufruf per
Schaltfläche, hast du eine dritte Variante getestet. Das ist ja nun
nicht per se falsch, man muss sich halt nur im Klaren sein, dass es
etwas anderes ist.
Dass deine Variante durchläuft, sagt ja jetzt nichts über meinen
Fall: ich habe bei deiner Datei die Schaltfläche ergänzt und den
Aufruf dorthin gelegt, und schon bleibt LibO wieder stecken. Der
Aufruf über das Dokumentereignis ist entweder dem direkten Aufruf
ähnlicher, oder das Problem hängt nicht prinzipiell am Aufruf von
einer Schaltfläche aus, sondern vielleicht, wie Jürgen wohl getestet
hat, speziell am Ereignis "Aktion auslösen" (was es ja auch beim
Dokument logischerweise nicht gibt).
Und zweitens hast du _gleichzeitig_ eine zweite Änderung gemacht, was
auch nicht zu empfehlen ist, wenn man ein Problem lokalisieren will.
Die Idee mit einer leeren Datei ist mir gestern beim Einschlafen auch
gekommen, weil mich die zweite Datei gestört hat, man kann das so
schlecht als Beispiel zur Verfügung stellen. Schön, dass du das schon
probiert hast, ich habe es nachvollzogen, in diesem Fall sind die
Reaktionen offenbar identisch, ob es nun eine bestehende oder neue
Datei ist.

Jetzt warte ich mal auf Jürgens Bug-Report und die Reaktion darauf.

Viele Grüße

Gerhard

Am 08.04.2019 um 09:10 schrieb OoOHWHOoO:

Guten Morgen Gerhard,

erst mal ganz herzlichen Dank für Dein ausführliches
Dialog-Anlegen-Tutorial :-)) !!!

Das habe ich, denke ich mal, hinbekommen.

Zusätzlich habe ich noch 2 Dinge gemacht:

[1] Via [Extras] > [Anpassen "Ereignisse"] > [Dokument öffnen] >
[Makro]: Dokument öffnen * Standard.Module.StartKopfzeile] das
Dokument so "eingestellt", dass beim Öffnen direkt der Dialog mit
der Schaltfläche "CommandButton1" angezeigt wird.

[2] In "Sub btnStart_actionPerformed(oEvent2)" wird eine neue
CALC-Datei geöffnet. Sollte eigentlich keinen Unterschied machen, ob
man eine bestehende oder eine neue CALC-Datei öffnet.

Dein von mir modifiziertes Makro schaut nun so aus:

Option Explicit

Sub StartKopfzeile
Dim oDlg as Object
DialogLibraries.LoadLibrary("Standard")
oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.execute
End Sub

Su

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-09 Diskussionsfäden Jürgen Klatt

Hallo,

Info Bugreport Libo friert ein bei Button-Event "Aktion bestätigen":
https://bugs.documentfoundation.org/show_bug.cgi?id=124628

Viele Grüße

Jürgen

Am 09.04.2019 um 01:19 schrieb OoOHWHOoO:

Hallo Gerhard,

das mit dem "Aufruf über das Dokumentereignis" war (m)eine Notlösung.
Ich habe mich genau an Deine Anweisungen gehalten, hat auch alles
geklappt, aber nur eines nicht: Dass der Dialog mit der Schaltfläche
im WRITER-Dokument erscheint. Im Moment weiß ich noch nicht, was ich
falsch mache:

"[...] bis "Module1" erscheint, das anklicken -> rechts
"btnStart_actionPerformed" anklicken. Dann OK und nochmal OK und
speichern (das speichert den Dialog im Dokument und auch das Dokument
selbst im Dateisystem). [...]".

Mein Problem ist, dass ich das zweite "OK" nicht finde - daran wird es
wohl liegen ...

Grüße
Hans-Werner

-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 08.04.2019 22:29:05
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice
nach Makrodurchlauf


Hallo Hans-Werner,

wenn du die Bedingungen änderst, testest du aber etwas anderes! Schon
nur "zusätzlich" müsste man genau anschauen, aber du hast
"stattdessen" gemacht":
Gerade an der kniffligen Stelle, wo wir schon wissen, dass es mit dem
direkten Aufruf des Makro geht, aber nicht mit dessen Aufruf per
Schaltfläche, hast du eine dritte Variante getestet. Das ist ja nun
nicht per se falsch, man muss sich halt nur im Klaren sein, dass es
etwas anderes ist.
Dass deine Variante durchläuft, sagt ja jetzt nichts über meinen
Fall: ich habe bei deiner Datei die Schaltfläche ergänzt und den
Aufruf dorthin gelegt, und schon bleibt LibO wieder stecken. Der
Aufruf über das Dokumentereignis ist entweder dem direkten Aufruf
ähnlicher, oder das Problem hängt nicht prinzipiell am Aufruf von
einer Schaltfläche aus, sondern vielleicht, wie Jürgen wohl getestet
hat, speziell am Ereignis "Aktion auslösen" (was es ja auch beim
Dokument logischerweise nicht gibt).
Und zweitens hast du _gleichzeitig_ eine zweite Änderung gemacht, was
auch nicht zu empfehlen ist, wenn man ein Problem lokalisieren will.
Die Idee mit einer leeren Datei ist mir gestern beim Einschlafen auch
gekommen, weil mich die zweite Datei gestört hat, man kann das so
schlecht als Beispiel zur Verfügung stellen. Schön, dass du das schon
probiert hast, ich habe es nachvollzogen, in diesem Fall sind die
Reaktionen offenbar identisch, ob es nun eine bestehende oder neue
Datei ist.

Jetzt warte ich mal auf Jürgens Bug-Report und die Reaktion darauf.

Viele Grüße

Gerhard

Am 08.04.2019 um 09:10 schrieb OoOHWHOoO:

Guten Morgen Gerhard,

erst mal ganz herzlichen Dank für Dein ausführliches
Dialog-Anlegen-Tutorial :-)) !!!

Das habe ich, denke ich mal, hinbekommen.

Zusätzlich habe ich noch 2 Dinge gemacht:

[1] Via [Extras] > [Anpassen "Ereignisse"] > [Dokument öffnen] >
[Makro]: Dokument öffnen * Standard.Module.StartKopfzeile] das
Dokument so "eingestellt", dass beim Öffnen direkt der Dialog mit
der Schaltfläche "CommandButton1" angezeigt wird.

[2] In "Sub btnStart_actionPerformed(oEvent2)" wird eine neue
CALC-Datei geöffnet. Sollte eigentlich keinen Unterschied machen, ob
man eine bestehende oder eine neue CALC-Datei öffnet.

Dein von mir modifiziertes Makro schaut nun so aus:

Option Explicit

Sub StartKopfzeile
Dim oDlg as Object
DialogLibraries.LoadLibrary("Standard")
oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.execute
End Sub

Sub btnStart_actionPerformed(oEvent2)
Dim PV() As New com.sun.star.beans.PropertyValue
StarDesktop.loadComponentFromURL("private:factory/scalc",
"_blank",0,PV())
MsgBox("Last line of ""Sub btnStart_actionPerformed"" ...")
End Sub

Ich hoffe, das geht so in Ordnung, und ich habe nichts
"verschlimmbessert" durch meine (Mini-) Modifikationen Deines Makros
oder etwas entfernt, wodurch Deine Test-Ergebnisse verändert würden.

Test-Ergebnis: Läuft wir geschmiert (LO 6.2.2.2 (x64) @ Windows 7
Home Premium 64-bit) - auch wenn ich den PC neu gestartet habe.

Aber ich kann ja viel behaupten, deshalb hier der DownloadLink von
"TestDialog.odt": https://www.magentacloud.de/share/npm0d3-mxx

Viele Grüße
Hans-Werner

-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 07.04.2019 23:45:05
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von
LibreOffice nach Makrodurchlauf


Hallo Hans-Werner,

deine Mail hattee ich heute früh noch gelesen, mir war klar, dass
hinter dem Syntaxfehler etwas anderes stecken müsse, das ist in x
Tests bei mir durchgelaufen und stammt auch aus Jürgens Code (bis
auf die Änderung von global zu dim, die schon Thomas angesprochen
hat).
Der Dialog muss natürlich in jürgens Code fehlen, er hat

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-08 Diskussionsfäden OoOHWHOoO

Hallo Gerhard,

das mit dem "Aufruf über das Dokumentereignis" war (m)eine Notlösung. 
Ich habe mich genau an Deine Anweisungen gehalten, hat auch alles 
geklappt, aber nur eines nicht: Dass der Dialog mit der Schaltfläche im 
WRITER-Dokument erscheint. Im Moment weiß ich noch nicht, was ich falsch 
mache:


"[...] bis "Module1" erscheint, das anklicken -> rechts 
"btnStart_actionPerformed" anklicken. Dann OK und nochmal OK und 
speichern (das speichert den Dialog im Dokument und auch das Dokument 
selbst im Dateisystem). [...]".


Mein Problem ist, dass ich das zweite "OK" nicht finde - daran wird es 
wohl liegen ...


Grüße
Hans-Werner

-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 08.04.2019 22:29:05
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo Hans-Werner,

wenn du die Bedingungen änderst, testest du aber etwas anderes! Schon nur "zusätzlich" müsste 
man genau anschauen, aber du hast "stattdessen" gemacht":
Gerade an der kniffligen Stelle, wo wir schon wissen, dass es mit dem direkten 
Aufruf des Makro geht, aber nicht mit dessen Aufruf per Schaltfläche, hast du 
eine dritte Variante getestet. Das ist ja nun nicht per se falsch, man muss 
sich halt nur im Klaren sein, dass es etwas anderes ist.
Dass deine Variante durchläuft, sagt ja jetzt nichts über meinen Fall: ich habe bei 
deiner Datei die Schaltfläche ergänzt und den Aufruf dorthin gelegt, und schon bleibt 
LibO wieder stecken. Der Aufruf über das Dokumentereignis ist entweder dem direkten 
Aufruf ähnlicher, oder das Problem hängt nicht prinzipiell am Aufruf von einer 
Schaltfläche aus, sondern vielleicht, wie Jürgen wohl getestet hat, speziell am Ereignis 
"Aktion auslösen" (was es ja auch beim Dokument logischerweise nicht gibt).
Und zweitens hast du _gleichzeitig_ eine zweite Änderung gemacht, was auch 
nicht zu empfehlen ist, wenn man ein Problem lokalisieren will. Die Idee mit 
einer leeren Datei ist mir gestern beim Einschlafen auch gekommen, weil mich 
die zweite Datei gestört hat, man kann das so schlecht als Beispiel zur 
Verfügung stellen. Schön, dass du das schon probiert hast, ich habe es 
nachvollzogen, in diesem Fall sind die Reaktionen offenbar identisch, ob es nun 
eine bestehende oder neue Datei ist.

Jetzt warte ich mal auf Jürgens Bug-Report und die Reaktion darauf.

Viele Grüße

Gerhard

Am 08.04.2019 um 09:10 schrieb OoOHWHOoO:

Guten Morgen Gerhard,

erst mal ganz herzlichen Dank für Dein ausführliches Dialog-Anlegen-Tutorial 
:-)) !!!

Das habe ich, denke ich mal, hinbekommen.

Zusätzlich habe ich noch 2 Dinge gemacht:

[1] Via [Extras] > [Anpassen "Ereignisse"] > [Dokument öffnen] > [Makro]: Dokument öffnen * 
Standard.Module.StartKopfzeile] das Dokument so "eingestellt", dass beim Öffnen direkt der Dialog mit der 
Schaltfläche "CommandButton1" angezeigt wird.

[2] In "Sub btnStart_actionPerformed(oEvent2)" wird eine neue CALC-Datei 
geöffnet. Sollte eigentlich keinen Unterschied machen, ob man eine bestehende oder eine 
neue CALC-Datei öffnet.

Dein von mir modifiziertes Makro schaut nun so aus:

Option Explicit

Sub StartKopfzeile
Dim oDlg as Object
DialogLibraries.LoadLibrary("Standard")
oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.execute
End Sub

Sub btnStart_actionPerformed(oEvent2)
Dim PV() As New com.sun.star.beans.PropertyValue
StarDesktop.loadComponentFromURL("private:factory/scalc", "_blank",0,PV())
MsgBox("Last line of ""Sub btnStart_actionPerformed"" ...")
End Sub

Ich hoffe, das geht so in Ordnung, und ich habe nichts "verschlimmbessert" 
durch meine (Mini-) Modifikationen Deines Makros oder etwas entfernt, wodurch Deine 
Test-Ergebnisse verändert würden.

Test-Ergebnis: Läuft wir geschmiert (LO 6.2.2.2 (x64) @ Windows 7 Home Premium 
64-bit) - auch wenn ich den PC neu gestartet habe.

Aber ich kann ja viel behaupten, deshalb hier der DownloadLink von 
"TestDialog.odt": https://www.magentacloud.de/share/npm0d3-mxx

Viele Grüße
Hans-Werner

-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 07.04.2019 23:45:05
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach 
Makrodurchlauf


Hallo Hans-Werner,

deine Mail hattee ich heute früh noch gelesen, mir war klar, dass hinter dem 
Syntaxfehler etwas anderes stecken müsse, das ist in x Tests bei mir 
durchgelaufen und stammt auch aus Jürgens Code (bis auf die Änderung von global 
zu dim, die schon Thomas angesprochen hat).
Der Dialog muss natürlich in jürgens Code fehlen, er hat ja den Dialog mit 
vielen Statements selbst generiert und musste zusätzlich Listener für seine 
Schaltflächen definieren und diese abfragen. Dafür gibt es manchmal Gr

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-08 Diskussionsfäden Gerhard Weydt

Hallo Hans-Werner,

wenn du die Bedingungen änderst, testest du aber etwas anderes! Schon 
nur "zusätzlich" müsste man genau anschauen, aber du hast "stattdessen" 
gemacht":
Gerade an der kniffligen Stelle, wo wir schon wissen, dass es mit dem 
direkten Aufruf des Makro geht, aber nicht mit dessen Aufruf per 
Schaltfläche, hast du eine dritte Variante getestet. Das ist ja nun 
nicht per se falsch, man muss sich halt nur im Klaren sein, dass es 
etwas anderes ist.
Dass deine Variante durchläuft, sagt ja jetzt nichts über meinen Fall: 
ich habe bei deiner Datei die Schaltfläche ergänzt und den Aufruf 
dorthin gelegt, und schon bleibt LibO wieder stecken. Der Aufruf über 
das Dokumentereignis ist entweder dem direkten Aufruf ähnlicher, oder 
das Problem hängt nicht prinzipiell am Aufruf von einer Schaltfläche 
aus, sondern vielleicht, wie Jürgen wohl getestet hat, speziell am 
Ereignis "Aktion auslösen" (was es ja auch beim Dokument logischerweise 
nicht gibt).
Und zweitens hast du _gleichzeitig_ eine zweite Änderung gemacht, was 
auch nicht zu empfehlen ist, wenn man ein Problem lokalisieren will. Die 
Idee mit einer leeren Datei ist mir gestern beim Einschlafen auch 
gekommen, weil mich die zweite Datei gestört hat, man kann das so 
schlecht als Beispiel zur Verfügung stellen. Schön, dass du das schon 
probiert hast, ich habe es nachvollzogen, in diesem Fall sind die 
Reaktionen offenbar identisch, ob es nun eine bestehende oder neue Datei 
ist.


Jetzt warte ich mal auf Jürgens Bug-Report und die Reaktion darauf.

Viele Grüße

Gerhard

Am 08.04.2019 um 09:10 schrieb OoOHWHOoO:

Guten Morgen Gerhard,

erst mal ganz herzlichen Dank für Dein ausführliches 
Dialog-Anlegen-Tutorial :-)) !!!


Das habe ich, denke ich mal, hinbekommen.

Zusätzlich habe ich noch 2 Dinge gemacht:

[1] Via [Extras] > [Anpassen "Ereignisse"] > [Dokument öffnen] > 
[Makro]: Dokument öffnen * Standard.Module.StartKopfzeile] das 
Dokument so "eingestellt", dass beim Öffnen direkt der Dialog mit der 
Schaltfläche "CommandButton1" angezeigt wird.


[2] In "Sub btnStart_actionPerformed(oEvent2)" wird eine neue 
CALC-Datei geöffnet. Sollte eigentlich keinen Unterschied machen, ob 
man eine bestehende oder eine neue CALC-Datei öffnet.


Dein von mir modifiziertes Makro schaut nun so aus:

Option Explicit

Sub StartKopfzeile
Dim oDlg as Object
DialogLibraries.LoadLibrary("Standard")
oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.execute
End Sub

Sub btnStart_actionPerformed(oEvent2)
Dim PV() As New com.sun.star.beans.PropertyValue
StarDesktop.loadComponentFromURL("private:factory/scalc", 
"_blank",0,PV())

MsgBox("Last line of ""Sub btnStart_actionPerformed"" ...")
End Sub

Ich hoffe, das geht so in Ordnung, und ich habe nichts 
"verschlimmbessert" durch meine (Mini-) Modifikationen Deines Makros 
oder etwas entfernt, wodurch Deine Test-Ergebnisse verändert würden.


Test-Ergebnis: Läuft wir geschmiert (LO 6.2.2.2 (x64) @ Windows 7 Home 
Premium 64-bit) - auch wenn ich den PC neu gestartet habe.


Aber ich kann ja viel behaupten, deshalb hier der DownloadLink von 
"TestDialog.odt": https://www.magentacloud.de/share/npm0d3-mxx


Viele Grüße
Hans-Werner

------ Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 07.04.2019 23:45:05
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo Hans-Werner,

deine Mail hattee ich heute früh noch gelesen, mir war klar, dass 
hinter dem Syntaxfehler etwas anderes stecken müsse, das ist in x 
Tests bei mir durchgelaufen und stammt auch aus Jürgens Code (bis auf 
die Änderung von global zu dim, die schon Thomas angesprochen hat).
Der Dialog muss natürlich in jürgens Code fehlen, er hat ja den 
Dialog mit vielen Statements selbst generiert und musste zusätzlich 
Listener für seine Schaltflächen definieren und diese abfragen. Dafür 
gibt es manchmal Gründe, und auch er scheint einen triftigen Grund 
gehabt zu haben, aber meist ist es bequemer, den Dialog in der 
Basic-IDE zu designen und im Dokument zu speichern. Die Listener 
werden sicher auch dann gebraucht, bloß übernimmt das dann 
LibreOffice im Hintergrund, man muss nur bei Dialog beim gewünschten 
Ereignis das auszuführende Makro benennen.
Für unseren Zweck war mir ein möglichst kurzer Code wichtig, damit 
ein Entwickler nicht abgeschreckt wird.
Und ein Rückgriff auf Jürgens Dokument ist auch nicht notwendig, der 
Fehler tritt auch bei einem leeren Dokument auf, und auch, wenn man 
ein anderes LibO-Dokument statt seines Calc-Dokuments lädt.
Da mir daran liegt, dass jemand anders das auch mit meinem Beispiel 
bestätigt, bevor ich eine Bugmeldung aufmache, beschreibe ich dir die 
nötigen Aktionen, es geht ziemlich schnell, das sieht nur in der 
Beschreibung so groß aus.
Erzeuge ei

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-08 Diskussionsfäden OoOHWHOoO

Guten Morgen Gerhard,

erst mal ganz herzlichen Dank für Dein ausführliches 
Dialog-Anlegen-Tutorial :-)) !!!


Das habe ich, denke ich mal, hinbekommen.

Zusätzlich habe ich noch 2 Dinge gemacht:

[1] Via [Extras] > [Anpassen "Ereignisse"] > [Dokument öffnen] > 
[Makro]: Dokument öffnen * Standard.Module.StartKopfzeile] das Dokument 
so "eingestellt", dass beim Öffnen direkt der Dialog mit der 
Schaltfläche "CommandButton1" angezeigt wird.


[2] In "Sub btnStart_actionPerformed(oEvent2)" wird eine neue CALC-Datei 
geöffnet. Sollte eigentlich keinen Unterschied machen, ob man eine 
bestehende oder eine neue CALC-Datei öffnet.


Dein von mir modifiziertes Makro schaut nun so aus:

Option Explicit

Sub StartKopfzeile
Dim oDlg as Object
DialogLibraries.LoadLibrary("Standard")
oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.execute
End Sub

Sub btnStart_actionPerformed(oEvent2)
Dim PV() As New com.sun.star.beans.PropertyValue
StarDesktop.loadComponentFromURL("private:factory/scalc", 
"_blank",0,PV())

MsgBox("Last line of ""Sub btnStart_actionPerformed"" ...")
End Sub

Ich hoffe, das geht so in Ordnung, und ich habe nichts 
"verschlimmbessert" durch meine (Mini-) Modifikationen Deines Makros 
oder etwas entfernt, wodurch Deine Test-Ergebnisse verändert würden.


Test-Ergebnis: Läuft wir geschmiert (LO 6.2.2.2 (x64) @ Windows 7 Home 
Premium 64-bit) - auch wenn ich den PC neu gestartet habe.


Aber ich kann ja viel behaupten, deshalb hier der DownloadLink von 
"TestDialog.odt": https://www.magentacloud.de/share/npm0d3-mxx


Viele Grüße
Hans-Werner

-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 07.04.2019 23:45:05
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo Hans-Werner,

deine Mail hattee ich heute früh noch gelesen, mir war klar, dass hinter dem 
Syntaxfehler etwas anderes stecken müsse, das ist in x Tests bei mir 
durchgelaufen und stammt auch aus Jürgens Code (bis auf die Änderung von global 
zu dim, die schon Thomas angesprochen hat).
Der Dialog muss natürlich in jürgens Code fehlen, er hat ja den Dialog mit 
vielen Statements selbst generiert und musste zusätzlich Listener für seine 
Schaltflächen definieren und diese abfragen. Dafür gibt es manchmal Gründe, und 
auch er scheint einen triftigen Grund gehabt zu haben, aber meist ist es 
bequemer, den Dialog in der Basic-IDE zu designen und im Dokument zu speichern. 
Die Listener werden sicher auch dann gebraucht, bloß übernimmt das dann 
LibreOffice im Hintergrund, man muss nur bei Dialog beim gewünschten Ereignis 
das auszuführende Makro benennen.
Für unseren Zweck war mir ein möglichst kurzer Code wichtig, damit ein 
Entwickler nicht abgeschreckt wird.
Und ein Rückgriff auf Jürgens Dokument ist auch nicht notwendig, der Fehler 
tritt auch bei einem leeren Dokument auf, und auch, wenn man ein anderes 
LibO-Dokument statt seines Calc-Dokuments lädt.
Da mir daran liegt, dass jemand anders das auch mit meinem Beispiel bestätigt, 
bevor ich eine Bugmeldung aufmache, beschreibe ich dir die nötigen Aktionen, es 
geht ziemlich schnell, das sieht nur in der Beschreibung so groß aus.
Erzeuge ein neues Writer-Dokument (und speichere am besten gleich, dann hasst 
du später nich die Unterbrechung durch den Speichern-Dialog).
Lege einen Makro-Modul an: Extras -> Makros -> Makros verwalten -> LibreOffice 
Basic... -> im Explorer links deine Datei auswählen -> New (so steht's in meiner 
Version) oder Neu; dann wird dir Module1 als Name vorgeschlagen, für unseren Test brauchen wir 
keinen anderen. Nach Bestätigung erscheint die Basic-IDE, wo du den vollständigen Code durch 
meine Makros ersetzt (und am besten statt dem Xray irgendeine msgbox nimmst, das ist 
einfacher, da hast du recht).
Erzeuge den Dialog: Unten siehst du das Register "Module1". Rechtsklicke rechts 
davon, wähle Einfügen -> Basic-Dialog. Dann wird dir ein leerer Dialog angezeigt, Größe 
und Titel ist uns wurscht. Nun musst du wahrscheinlich die Symbolleiste 
Formular-Steuerelemente einblenden (du kannst sie dann gleich wieder ausblenden) und suchst 
dort das Symbol für Schaltfläche, irgendwie wohl ein Rechteck, aber das hängt vom Stil ab, 
der Tooltipp zeigt es dir aber, und klickst drauf.  Dann kannst du mit der Maus innerhalb 
der Dialogfläche ein Rechteck für die Schaltfläche aufziehen, Größe und Position sind 
irrelevant, auch der automatisch vergebene Name kann für unsern Zweck bleiben.
Nun fehlt nur noch die Verknüpfung des zweiten Makros mit dem Betätigen der Schaltfläche: Rechtsklick auf die gerade gezeichnete Schaltfläche -> 
Eigenschaften -> im linken Teilfenster: Register "Ereignisse" -> Schaltfläche mit den drei Punkten hinter dem Punkt "Aktion 
ausführen" betätigen -> Makro...

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-07 Diskussionsfäden Gerhard Weydt

Hallo Hans-Werner,

deine Mail hattee ich heute früh noch gelesen, mir war klar, dass hinter 
dem Syntaxfehler etwas anderes stecken müsse, das ist in x Tests bei mir 
durchgelaufen und stammt auch aus Jürgens Code (bis auf die Änderung von 
global zu dim, die schon Thomas angesprochen hat).
Der Dialog muss natürlich in jürgens Code fehlen, er hat ja den Dialog 
mit vielen Statements selbst generiert und musste zusätzlich Listener 
für seine Schaltflächen definieren und diese abfragen. Dafür gibt es 
manchmal Gründe, und auch er scheint einen triftigen Grund gehabt zu 
haben, aber meist ist es bequemer, den Dialog in der Basic-IDE zu 
designen und im Dokument zu speichern. Die Listener werden sicher auch 
dann gebraucht, bloß übernimmt das dann LibreOffice im Hintergrund, man 
muss nur bei Dialog beim gewünschten Ereignis das auszuführende Makro 
benennen.
Für unseren Zweck war mir ein möglichst kurzer Code wichtig, damit ein 
Entwickler nicht abgeschreckt wird.
Und ein Rückgriff auf Jürgens Dokument ist auch nicht notwendig, der 
Fehler tritt auch bei einem leeren Dokument auf, und auch, wenn man ein 
anderes LibO-Dokument statt seines Calc-Dokuments lädt.
Da mir daran liegt, dass jemand anders das auch mit meinem Beispiel 
bestätigt, bevor ich eine Bugmeldung aufmache, beschreibe ich dir die 
nötigen Aktionen, es geht ziemlich schnell, das sieht nur in der 
Beschreibung so groß aus.
Erzeuge ein neues Writer-Dokument (und speichere am besten gleich, dann 
hasst du später nich die Unterbrechung durch den Speichern-Dialog).
Lege einen Makro-Modul an: Extras -> Makros -> Makros verwalten -> 
LibreOffice Basic... -> im Explorer links deine Datei auswählen -> New 
(so steht's in meiner Version) oder Neu; dann wird dir Module1 als Name 
vorgeschlagen, für unseren Test brauchen wir keinen anderen. Nach 
Bestätigung erscheint die Basic-IDE, wo du den vollständigen Code durch 
meine Makros ersetzt (und am besten statt dem Xray irgendeine msgbox 
nimmst, das ist einfacher, da hast du recht).
Erzeuge den Dialog: Unten siehst du das Register "Module1". Rechtsklicke 
rechts davon, wähle Einfügen -> Basic-Dialog. Dann wird dir ein leerer 
Dialog angezeigt, Größe und Titel ist uns wurscht. Nun musst du 
wahrscheinlich die Symbolleiste Formular-Steuerelemente einblenden (du 
kannst sie dann gleich wieder ausblenden) und suchst dort das Symbol für 
Schaltfläche, irgendwie wohl ein Rechteck, aber das hängt vom Stil ab, 
der Tooltipp zeigt es dir aber, und klickst drauf.  Dann kannst du mit 
der Maus innerhalb der Dialogfläche ein Rechteck für die Schaltfläche 
aufziehen, Größe und Position sind irrelevant, auch der automatisch 
vergebene Name kann für unsern Zweck bleiben.
Nun fehlt nur noch die Verknüpfung des zweiten Makros mit dem Betätigen 
der Schaltfläche: Rechtsklick auf die gerade gezeichnete Schaltfläche -> 
Eigenschaften -> im linken Teilfenster: Register "Ereignisse" -> 
Schaltfläche mit den drei Punkten hinter dem Punkt "Aktion ausführen" 
betätigen -> Makro... -> bei "Bibliothek" dein Dokument auklappen, bis 
"Module1" erscheint, das anklicken -> rechts "btnStart_actionPerformed" 
anklicken. Dann OK und nochmal OK und speichern (das speichert den 
Dialog im Dokument und auch das Dokument selbst im Dateisystem).
Dann kannst du testen. Bei mir funktionierte alles, auch nach Schließen 
und Wiederöffnen von Libo, erst nach Runterfahren des Rechners und 
Wiederstarten tritt der Fehler auf und bleibt dann auch. Was zeigt, dass 
nicht etwas im Dokument durch das erstmalige Ausführen geändert wird, 
sondern irgendwas Vages, für mich nicht Erratbares im Zusammenspiel von 
BS, LibO und Dokument passiert.
Wenn ich das Dokument anschließend mit 5.3.3.1 öffne, läuft weiterhin 
alles durch, mit 6.0.7.3 nicht; dazwischen habe ich derzeit keine 
Version installiert. Das deckt sich mit Jürgens Feststellung, dass sein 
Makro früher lief, wiewohl nicht exakt mit seiner Angabe, aber darauf 
kommt es ja nicht an, wichtig ist, dass da was passiert ist, was diesen 
Nebeneffekt hat. Ich werde das in nächster Zeit eingrenzen.


Grüße

Gerhard

Am 07.04.2019 um 18:43 schrieb OoOHWHOoO:

KORREKTUR zu https://listarchives.libreoffice.org/de/users/msg21513.html

Da muss wohl beim Kopieren aus der Mail 
https://listarchives.libreoffice.org/de/users/msg21512.html irgend 
etwas in die Windows-Zwischenablage geraten sein.


Jetzt kommt kein Syntaxfehler mehr und LO stürzt auch nicht ab.

Jetzt bezüglich Zeile "oDlg = 
createUnoDialog(DialogLibraries.Standard.Dialog1)" die Fehlermeldung:


BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: Dialog1

Da fehlt wohl ein "Dialog1". Woher nehmen wenn nicht stehlen ... jetzt 
mag ich nicht mehr mit meinem Makro-Dialog-Minimalwissen :-(( ...


Grüße
Hans-Werner ;-))


Gerhards Makro ( 
https://listarchives.libreoffice.org/de/users/msg21512.html ):


Option Explicit

Sub StartKopfzeile

dim oDlg as Object ' Dialogfenster

    DialogLibraries.LoadLibrary("Standard")    'auch ein 

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-07 Diskussionsfäden OoOHWHOoO

KORREKTUR zu https://listarchives.libreoffice.org/de/users/msg21513.html

Da muss wohl beim Kopieren aus der Mail 
https://listarchives.libreoffice.org/de/users/msg21512.html irgend etwas 
in die Windows-Zwischenablage geraten sein.


Jetzt kommt kein Syntaxfehler mehr und LO stürzt auch nicht ab.

Jetzt bezüglich Zeile "oDlg = 
createUnoDialog(DialogLibraries.Standard.Dialog1)" die Fehlermeldung:


BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: Dialog1

Da fehlt wohl ein "Dialog1". Woher nehmen wenn nicht stehlen ... jetzt 
mag ich nicht mehr mit meinem Makro-Dialog-Minimalwissen :-(( ...


Grüße
Hans-Werner ;-))


Gerhards Makro ( 
https://listarchives.libreoffice.org/de/users/msg21512.html ):


Option Explicit

Sub StartKopfzeile

dim oDlg as Object ' Dialogfenster

DialogLibraries.LoadLibrary("Standard")'auch ein fester Dialog 
bringt keine Änderung

oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.execute
End Sub

REM Aktion Pseudo-Kopfzeilen eintragen und formatieren
Sub btnStart_actionPerformed(oEvent2)

dim oDocC as Object
Dim sUrl as String
 sUrl = converttoUrl("E:\TMP\Kopfzeilen_Texte.ods") ' MODIFIZIERT !
Dim zFileProperties() As New com.sun.star.beans.PropertyValue
oDocC = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, 
zFileProperties())

MsgBox("HALLO") ' MODIFIZIERT !
End Sub
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-07 Diskussionsfäden OoOHWHOoO

Guten Morgen Gerhard,

ich habe mal folgendes gemacht:

[0] LO 6.2.2.2 (x64) @ Windows 7 Home Premium 64-bit
[1] Mit https://c.web.de/@693152299987503749/RJCw-SFyQFK1cq8oL0FtFA 
nochmals Juergens zip-Datei heruntergeladen.
[2] "Musterdateien_02.zip" entpackt und abgespeichert: 
"E:\TMP\Kopfzeilen_Texte.ods" und "E:\TMP\Musterbuch mit Makro_06.odt".
[3] Nun habe ich in "Musterbuch mit Makro_06.odt" das enthaltene Makro 
gelöscht, Dein Makro aus Deiner Mail kopiert und dort eingefügt.

[4] An Deinem Makro habe ich nur 2 Modifikationen vorgenommen:
sUrl = 
converttoUrl("C:\Users\gerha\Gerhard\zwi\Musterdateien_02\Kopfzeilen_Texte.ods")

zu
sUrl = converttoUrl("E:\TMP\Kopfzeilen_Texte.ods")
und
Xray oDocC
zu
MsgBox("MsgBox ("HELLO WORLD")
[5] "Musterbuch mit Makro_06.odt" gespeichert und wieder geöffnet.
[6] Wenn ich nun die Schaltfläche "Start Texte eintragen" anklicke, 
dann:
[6.1] Öffnet die BASIC-IDE und es wird die Meldung "BASIC-Syntaxfehler. 
Syntakfehler" angezeigt.
[6.2] Der rote Pfeil in der BASIC-IDE zeigt auf die Zeile "dim oDlg as 
Object ' Dialogfenster" und der Cursor steht direkt hinter 
"Object".
[6.3] Klicke ich nun das "OK" der Fehlermeldungs-MsgBox an, stürzt LO 
komplett ab.
[6.4] Öffne ich nun wieder "Musterbuch mit Makro_06.odt", meldet sich 
LO, stellt fest, dass LO abgestürzt ist und fragt, ob ich eine 
Fehlermeldung senden möchte.
[7] Starte ich direkt in der BASIC-IDE "Sub StartKopfzeile" kommt [6.1] 
und [6.2], aber bei Klick auf das "OK" der Fehlermeldungs-MsgBox stürzt 
LO nicht ab.


So kann ich Dein Makro nicht testen wie von Dir beschrieben. Bitte 
bedenke aber, dass ich bezüglich BASIC-MAKO-DIALOG-Programmierung über 
keinerlei Wissen oder Erfahrungswerte verfüge, also mehr "formal" als 
"inhaltlich" getestet habe.


Grüße
Hans-Werner

Die von mir modifizierte Variante Deines Makros:

Option Explicit

Sub StartKopfzeile

dim oDlg as Object ' Dialogfenster

DialogLibraries.LoadLibrary("Standard")'auch ein fester Dialog 
bringt keine Änderung

oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.execute
End Sub


REM Aktion Pseudo-Kopfzeilen eintragen und formatieren
Sub btnStart_actionPerformed(oEvent2)

dim oDocC as Object
Dim sUrl as String
 sUrl = converttoUrl("E:\TMP\Kopfzeilen_Texte.ods")
Dim zFileProperties() As New com.sun.star.beans.PropertyValue
oDocC = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, 
zFileProperties())

MsgBox ("HELLO WORLD")
End Sub


-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 07.04.2019 01:39:47
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo Jürgen, Hans-Werner,

ich habe inzwischen das Makro auf eine ziemlich minimale Version reduziert, bei 
der der Fehler immer noch auftritt:

Option Explicit

Sub StartKopfzeile

dim oDlg as Object ' Dialogfenster

DialogLibraries.LoadLibrary("Standard")'auch ein fester Dialog bringt 
keine Änderung
oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
oDlg.execute
End Sub


REM Aktion Pseudo-Kopfzeilen eintragen und formatieren
Sub btnStart_actionPerformed(oEvent2)

dim oDocC as Object
Dim sUrl as String
 sUrl = 
converttoUrl("C:\Users\gerha\Gerhard\zwi\Musterdateien_02\Kopfzeilen_Texte.ods")
Dim zFileProperties() As New com.sun.star.beans.PropertyValue
oDocC = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, 
zFileProperties())
Xray oDocC

End Sub

wobei statt dem Xray auch eine Msgbox stehen könnte. Die wenigen Deklarationen 
sind nun alle in den einzelnen Routinen enthalten.

Weiter habe ich herausgefunden, dass das folgende Verhalten wiederholbar 
auftritt:
erzeuge ich ein neues Writer-Dokument, in das ich die Schaltfläche zum Starten 
des Makros aus dem früheren Dokument kopiere, und füge ich dem Dokument dann 
auch per Kopieren die beiden  obigen Makros hinzu, erzeuge einen neuen Dialog, 
dem ich wieder per Kopieren die einzige Schaltfläche hinzufüge, die das Makro 
btnStart_actionPerformed aufruft, dann:

 * läuft alles bis zum Ende durch, auch beim zweiten Aufruf, auch nach
   Schließen und Wiederöffnen von LibO und erneutem Laden des neuen
   Dokuments
 * Libo bleibt aber hängen, wenn der Rechner runter- und wieder
   raufgefahren wurde und ich dann nach erneutem Laden des Dokuments
   die Schaltfläche bediene.

Das ist nun ein Verhalten, mit dem ich nichts anfangen kann, ich habe keine 
Idee, was anders sein soll, wenn das Dokument seit dem letzten 
Betriebssystemstart erzeugt wurde oder schon früher. Am Dokument selbst ist 
nichts erkennbar, ich habe die verschiedenen Stände der einzelnen Dateien des 
entzippten Dokuments mit

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-06 Diskussionsfäden Gerhard Weydt

Hallo Jürgen, Hans-Werner,

ich habe inzwischen das Makro auf eine ziemlich minimale Version 
reduziert, bei der der Fehler immer noch auftritt:


Option Explicit

Sub StartKopfzeile

dim oDlg as Object         ' Dialogfenster

    DialogLibraries.LoadLibrary("Standard")    'auch ein fester Dialog 
bringt keine Änderung

    oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
    oDlg.execute
End Sub


REM Aktion Pseudo-Kopfzeilen eintragen und formatieren
Sub btnStart_actionPerformed(oEvent2)

dim oDocC as Object
Dim sUrl as String
     sUrl = 
converttoUrl("C:\Users\gerha\Gerhard\zwi\Musterdateien_02\Kopfzeilen_Texte.ods")

    Dim zFileProperties() As New com.sun.star.beans.PropertyValue
        oDocC = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, 
zFileProperties())

Xray oDocC

End Sub

wobei statt dem Xray auch eine Msgbox stehen könnte. Die wenigen 
Deklarationen sind nun alle in den einzelnen Routinen enthalten.


Weiter habe ich herausgefunden, dass das folgende Verhalten wiederholbar 
auftritt:
erzeuge ich ein neues Writer-Dokument, in das ich die Schaltfläche zum 
Starten des Makros aus dem früheren Dokument kopiere, und füge ich dem 
Dokument dann auch per Kopieren die beiden  obigen Makros hinzu, erzeuge 
einen neuen Dialog, dem ich wieder per Kopieren die einzige Schaltfläche 
hinzufüge, die das Makro btnStart_actionPerformed aufruft, dann:


 * läuft alles bis zum Ende durch, auch beim zweiten Aufruf, auch nach
   Schließen und Wiederöffnen von LibO und erneutem Laden des neuen
   Dokuments
 * Libo bleibt aber hängen, wenn der Rechner runter- und wieder
   raufgefahren wurde und ich dann nach erneutem Laden des Dokuments
   die Schaltfläche bediene.

Das ist nun ein Verhalten, mit dem ich nichts anfangen kann, ich habe 
keine Idee, was anders sein soll, wenn das Dokument seit dem letzten 
Betriebssystemstart erzeugt wurde oder schon früher. Am Dokument selbst 
ist nichts erkennbar, ich habe die verschiedenen Stände der einzelnen 
Dateien des entzippten Dokuments miteinander verglichen (hatte ich 
eigentlich auch nicht erwartet). Es kann natürlich sein, dass LibO beim 
Herunterfahren nicht spurlos verschwindet, sondern irgend etwas 
vorhanden bleibt, was erst beim BS-Runterfahren gelöscht wird, aber da 
kenne ich mich überhaupt nicht aus.
Ich kann da nichts mehr rauskriegen, man kann das Problem in dieser 
einfachen Form als Bug melden, das ist ein Thema für die Kenner der 
Innereien


Gruß

Gerhard

Am 07.04.2019 um 00:51 schrieb OoOHWHOoO:

Hallo Juergen,

mit recht hoher Wahrscheinlichkeit liegt bei Dir wohl kein 
FilePicker-Problem im Sinne meines BugReports 
(https://bugs.documentfoundation.org/show_bug.cgi?id=124579) vor, 
sondern wohl eher ein anderes Problem. Damit das FilePicker-Problem 
(im Sinne meines BugReports) auftritt ist Voraussetzung, das LO NICHT 
LÄUFT und man den FilePicker mit einem EXTERNEN Kommando startet.


Siehe auch (https://bugs.documentfoundation.org/show_bug.cgi?id=123502):

"[...] Just wanted to note that the way to run the macro from command 
prompt, like
> instdir/program/soffice.bin --nologo 
macro:///Standard.Module1.TestPickerSW
without LO already running, is essential to reproduce the problem from 
comment 19 [...]"


Beide Voraussetzungen sind bei Deiner Anwendung wohl eher nicht erfüllt:

[1] Wenn man Deine Datei "Muster Dialog und Datei-OP v01.odt" öffnet 
wird ja LO gestartet und läuft somit bereits, wenn man die ROTE 
Schaltfläche auslöst.
[2] Der Start des FilePickers über eine Schaltfläche bei laufendem LO 
ist wohl eher auch kein externer Aufruf eines Makros, welches einen 
FilePicker-Aufruf enthält.
[3] Außerdem ist bei meinem BugReport NUR der 
Betriebssystem-FilePicker und -FolderPicker betroffen.


Außerdem ist es nicht gerade in sich schlüssig an ein 
FilePicker-Problem zu denken, wenn der FilePicker mit der ROTEN 
Schaltfläche nicht funktioniert und mit den GRÜNEN Schaltflächen doch, 
zumal bei Deiner Problematik ja auch beide FilePicker betroffen sind. 
Da müsste mal jemand, der sich mit dieser Dialog-Programmierung 
auskennt, untersuchen, ob die ROTE Schaltfläche irgendwie 
programmier-technisch fehlerbehaftet ist. Mit 
BASIC-Makro-Dialog-Programmierung habe ich keinerlei Erfahrung, kann 
Dir hier also nicht weiter helfen.


Was mir allerdings aufgefallen ist: Bei meiner 
Makro-HangUp-Problematik zeigt der TaskManager für soffice.bin eine 
CPU-Last = 0 an, bei Deiner Makro-HangUp-Problematik zeigt der 
TaskManager für soffice.bin eine CPU-Last = 25 an, was wohl ein 
Hinweis darauf sein kann, dass da irgend etwas wie doll in einer 
"Schleife" läuft und so LO verhindert ist Benutzereingaben anzunehmen. 
Ist nur mal eine spekulative Vermutung ...


Grüße
Hans-Werner


-- Originalnachricht --
Von: "Jürgen Klatt" 
An: users@de.libreoffice.org
Gesendet: 06.04.2019 21:30:58
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Mak

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-06 Diskussionsfäden OoOHWHOoO

Hallo Juergen,

mit recht hoher Wahrscheinlichkeit liegt bei Dir wohl kein 
FilePicker-Problem im Sinne meines BugReports 
(https://bugs.documentfoundation.org/show_bug.cgi?id=124579) vor, 
sondern wohl eher ein anderes Problem. Damit das FilePicker-Problem (im 
Sinne meines BugReports) auftritt ist Voraussetzung, das LO NICHT LÄUFT 
und man den FilePicker mit einem EXTERNEN Kommando startet.


Siehe auch (https://bugs.documentfoundation.org/show_bug.cgi?id=123502):

"[...] Just wanted to note that the way to run the macro from command 
prompt, like
> instdir/program/soffice.bin --nologo 
macro:///Standard.Module1.TestPickerSW
without LO already running, is essential to reproduce the problem from 
comment 19 [...]"


Beide Voraussetzungen sind bei Deiner Anwendung wohl eher nicht erfüllt:

[1] Wenn man Deine Datei "Muster Dialog und Datei-OP v01.odt" öffnet 
wird ja LO gestartet und läuft somit bereits, wenn man die ROTE 
Schaltfläche auslöst.
[2] Der Start des FilePickers über eine Schaltfläche bei laufendem LO 
ist wohl eher auch kein externer Aufruf eines Makros, welches einen 
FilePicker-Aufruf enthält.
[3] Außerdem ist bei meinem BugReport NUR der Betriebssystem-FilePicker 
und -FolderPicker betroffen.


Außerdem ist es nicht gerade in sich schlüssig an ein FilePicker-Problem 
zu denken, wenn der FilePicker mit der ROTEN Schaltfläche nicht 
funktioniert und mit den GRÜNEN Schaltflächen doch, zumal bei Deiner 
Problematik ja auch beide FilePicker betroffen sind. Da müsste mal 
jemand, der sich mit dieser Dialog-Programmierung auskennt, untersuchen, 
ob die ROTE Schaltfläche irgendwie programmier-technisch fehlerbehaftet 
ist. Mit BASIC-Makro-Dialog-Programmierung habe ich keinerlei Erfahrung, 
kann Dir hier also nicht weiter helfen.


Was mir allerdings aufgefallen ist: Bei meiner Makro-HangUp-Problematik 
zeigt der TaskManager für soffice.bin eine CPU-Last = 0 an, bei Deiner 
Makro-HangUp-Problematik zeigt der TaskManager für soffice.bin eine 
CPU-Last = 25 an, was wohl ein Hinweis darauf sein kann, dass da irgend 
etwas wie doll in einer "Schleife" läuft und so LO verhindert ist 
Benutzereingaben anzunehmen. Ist nur mal eine spekulative Vermutung ...


Grüße
Hans-Werner


-- Originalnachricht --
Von: "Jürgen Klatt" 
An: users@de.libreoffice.org
Gesendet: 06.04.2019 21:30:58
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo,

Am 06.04.2019 um 18:45 schrieb OoOHWHOoO:


Wen es interessiert:


Ja, es interessiert mich sehr, auch wenn zwischen
meinen Rückmeldungen größere Pausen liegen.

Bin sehr damit beschäftigt alle Inputs und meine neuen Ideen zu verarbeiten.

Auch mein Jagdinstinkt ist ungebrochen.
Zwecks weiterer Analyse habe auch ich meinen ursprünglichen Code
abgespeckt und zwecks besserer Übersicht auf zwei Module verteilt.

Siehe diese abgespeckte Version:
https://c.web.de/@693152299987503749/x5wk8EanTm2HOLpD8pVtfw
Weitere Beschreibungen siehe Datei.
Filepicker Problem oder doch noch etwas anderes???
Beide Module können unabhängig voneinander gestartet werden.

Das abgespeckte Programm habe ich mit folgenden LibO-Versionen getestet:
a) 6.2.1.2 (x64)
Build-ID: 7bcb35dc3024a62dea0caee87020152d1ee96e71

b) Portable 6.1.4.2
Build-ID: 9d0f32d1f0b509096fd65e0d4bec26ddd1938fd3

c) 6.3.0.0.alpha0+ (x64) (Master) vom 05.04.2019
Build ID: 35d9a2618dc0116378ab795a7b9277d248c5afd4

Viele Grüße und Danke

Jürgen

Am 06.04.2019 um 18:45 schrieb OoOHWHOoO:


Wen es interessiert:

BugReport - "Basic Macro hang up when using (operation system)
filepicker/folderpicker"
https://bugs.documentfoundation.org/show_bug.cgi?id=124579

"[...] Reproducible with current master on Windows 10 x64. [...]"
https://bugs.documentfoundation.org/show_bug.cgi?id=124579#c3

Das ursächliche Problem wurde auch schon von dem LO-Entwickler
identifiziert:

"[...] tdf#124579: ensure to provide an event to wake up main loop
when notifying
Without that, Request::waitProcessMessages might wait indefinitely for
Application::Yield() to return; while the latter would wait for a
message in PeekMessage. If there's no visible LO window, the message
might never arrive by itself. [...]"
https://gerrit.libreoffice.org/#/c/70346/

Wer selber mit den "attached files" ("macro for testing picker
software" und "win cmd for starting macro") des BugReports testen
will, sollte unbedingt darauf achten, dass vor dem Start von "win cmd
for starting macro" LibreOffice NICHT läuft ! So eine Situation kann
es z.B. geben, wenn man ein Makro aus einem anderen Programm heraus
(beispielsweise "Perl") startet.

Grüße
Hans-Werner


-- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchiv

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-06 Diskussionsfäden Jürgen Klatt

Hallo,

Am 06.04.2019 um 18:45 schrieb OoOHWHOoO:


Wen es interessiert:


Ja, es interessiert mich sehr, auch wenn zwischen
meinen Rückmeldungen größere Pausen liegen.

Bin sehr damit beschäftigt alle Inputs und meine neuen Ideen zu verarbeiten.

Auch mein Jagdinstinkt ist ungebrochen.
Zwecks weiterer Analyse habe auch ich meinen ursprünglichen Code
abgespeckt und zwecks besserer Übersicht auf zwei Module verteilt.

Siehe diese abgespeckte Version:
https://c.web.de/@693152299987503749/x5wk8EanTm2HOLpD8pVtfw
Weitere Beschreibungen siehe Datei.
Filepicker Problem oder doch noch etwas anderes???
Beide Module können unabhängig voneinander gestartet werden.

Das abgespeckte Programm habe ich mit folgenden LibO-Versionen getestet:
a) 6.2.1.2 (x64)
Build-ID: 7bcb35dc3024a62dea0caee87020152d1ee96e71

b) Portable 6.1.4.2
Build-ID: 9d0f32d1f0b509096fd65e0d4bec26ddd1938fd3

c) 6.3.0.0.alpha0+ (x64) (Master) vom 05.04.2019
Build ID: 35d9a2618dc0116378ab795a7b9277d248c5afd4

Viele Grüße und Danke

Jürgen

Am 06.04.2019 um 18:45 schrieb OoOHWHOoO:


Wen es interessiert:

BugReport - "Basic Macro hang up when using (operation system)
filepicker/folderpicker"
https://bugs.documentfoundation.org/show_bug.cgi?id=124579

"[...] Reproducible with current master on Windows 10 x64. [...]"
https://bugs.documentfoundation.org/show_bug.cgi?id=124579#c3

Das ursächliche Problem wurde auch schon von dem LO-Entwickler
identifiziert:

"[...] tdf#124579: ensure to provide an event to wake up main loop
when notifying
Without that, Request::waitProcessMessages might wait indefinitely for
Application::Yield() to return; while the latter would wait for a
message in PeekMessage. If there's no visible LO window, the message
might never arrive by itself. [...]"
https://gerrit.libreoffice.org/#/c/70346/

Wer selber mit den "attached files" ("macro for testing picker
software" und "win cmd for starting macro") des BugReports testen
will, sollte unbedingt darauf achten, dass vor dem Start von "win cmd
for starting macro" LibreOffice NICHT läuft ! So eine Situation kann
es z.B. geben, wenn man ein Makro aus einem anderen Programm heraus
(beispielsweise "Perl") startet.

Grüße
Hans-Werner


--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-06 Diskussionsfäden OoOHWHOoO

Wen es interessiert:

BugReport - "Basic Macro hang up when using (operation system) 
filepicker/folderpicker"

https://bugs.documentfoundation.org/show_bug.cgi?id=124579

"[...] Reproducible with current master on Windows 10 x64. [...]"
https://bugs.documentfoundation.org/show_bug.cgi?id=124579#c3

Das ursächliche Problem wurde auch schon von dem LO-Entwickler 
identifiziert:


"[...] tdf#124579: ensure to provide an event to wake up main loop when 
notifying
Without that, Request::waitProcessMessages might wait indefinitely for 
Application::Yield() to return; while the latter would wait for a 
message in PeekMessage. If there's no visible LO window, the message 
might never arrive by itself. [...]"

https://gerrit.libreoffice.org/#/c/70346/

Wer selber mit den "attached files" ("macro for testing picker software" 
und "win cmd for starting macro") des BugReports testen will, sollte 
unbedingt darauf achten, dass vor dem Start von "win cmd for starting 
macro" LibreOffice NICHT läuft ! So eine Situation kann es z.B. geben, 
wenn man ein Makro aus einem anderen Programm heraus (beispielsweise 
"Perl") startet.


Grüße
Hans-Werner
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-05 Diskussionsfäden OoOHWHOoO
" & Chr(10) & "Exit Macro ...")
End If
Case ""
End
Case Else
MsgBox("Wrong input:   " & D & Chr(10) & "Exit macro ...")
End
End Select

MsgBox ("Last code line of macro ...")

End Sub

+ TestPickerSW.cmd

SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Test.TestPickerSW()"
%L% --nologo %M%

REM Please notice:
REM
REM L="C:/Program Files/LibreOffice/program/soffice.exe"
REM
REM May be that this path of "soffice.exe" has to be modified due to 
your installation of Libre Office.

REM
REM M="macro:///Standard.Test.TestPickerSW()"
REM
REM "Standard" = User's library (BASIC-IDE).
REM "Test" = Module "Test" in the user's library.
REM If not existing, please create such a module.
REM "TestPickerSW" = Macro "Sub TestPickerSW" (File: TestPickerSW.txt).
REM Please copy this macro in the module "Test".


-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 06.04.2019 00:05:31
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo Jürgen, Hans-Werner,

das "eingedampfte" Makro, das ich in meiner Mail vom 3.4. mitgeteilt habe, 
zeigt das Phänomen, bei Aufruf per Schaltfläche hängenzubleiben, aber bei direktem Aufruf 
durchzulaufen, enthält aber gar keine File Picker! Daher kann ich mir nicht vorstellen, 
dass es am File Picker liegen sollte.
Was ich allerdings nun nicht mehr nachvollziehen kann, ist das mein neu 
aufgebautes Dokument den Fehler nicht mehr produzieren soll, nun verhält es 
sich genauso wie das von Jürgen erhaltene Dokument, beide mit dem reduzierten 
Code. Da ich aber doch darauf schwören möchte, dass ich mich nicht getäuscht 
habe, weckt das meinen Jagdinstinkt, und ich werde weiter rumprobieren.
Aber diese beiden Bemerkiungen wollte ich doch gleich nach dem Lesen der 
Nachricht loslassen.

Gruß

Gerhard

Am 05.04.2019 um 13:37 schrieb OoOHWHOoO:

Hallo Juergen & *,

nachdem Gerhard festgestellt hatte (https://listarchives.libreoffice.org/de/users/msg21491.html), dass Dein 
Makro bei direktem Start von "StartKopfzeile" in der BASIC-IDE (interner Start) fehlerfrei läuft im 
Gegensatz zum Start über die Schaltfläche "Start Texte eintragen" in der Datei "Musterbuch mit 
Makro_06.odt" (externer Start), habe ich mir überlegt zu schauen, was passiert, wenn man Dein Makro über 
ein Windows-CMD extern startet, was ja auch eine Form des externen Makro-Starts darstellt.

Da mir Dein Makro (für eventuelle Fehlersuche) durch die vielen SUBs und 
FUNCTIONs zu unübersichtlich ist, habe ich es mal neu geschrieben auf Basis des 
von Dir verwendeten Algorithmus.

Das (neue) Makro läuft fehlerhaft, wenn man den Betriebssystem-FilePicker 
"com.sun.star.ui.dialogs.FilePicker" auswählt.

Im Kontext der von Oliver und mir festgestellten Probleme mit dem 
Betriebssystem-FolderPicker "com.sun.star.ui.dialogs.FolderPicker" scheint es 
mir doch nun sehr wahrscheinlich, dass da ein Problem mit der Picker-Software vorliegt, 
wenn man die Betriebssystem-Versionen der Picker-Software verwendet - also auch Deine 
Probleme mit Deinem Makro wohl damit zusammenhängen.

Gruß
Hans-Werner

[1] Ergebnis (Systemumgebung: LO 6.2.2.2 (x64) @ Windows 7 Home Premium 64-bit)

[1.1] Verwendet man für die Dateiauswahl den Betriebssystem-FilePicker 
("com.sun.star.ui.dialogs.FilePicker"), bleibt das Makro nach der Dateiauswahl 
hängen.

[1.2] Verwendet man für die Dateiauswahl den Office-FilePicker 
("com.sun.star.ui.dialogs.OfficeFilePicker"), läuft das Makro fehlerfrei durch.

[1.3] Verwendet man in Deinem Makro den Office-FilePicker 
("com.sun.star.ui.dialogs.OfficeFilePicker"), hat dies keine Auswirkung auf das 
Hängenbleiben bei dem MsgBox-Aufruf. Ich spekuliere mal, dass da wohl vielleicht noch 
andere ungünstige Randbedingungen auftreten, die den FilePicker-Fehler kaschieren oder 
auch der FilePicker-Fehler selbst andere Fehler verursacht.

[2] Das "neue" Makro

[2.1] Die Dialog-Sachen (Schaltfläche "Start Texte eintragen") habe ich durch 
eine einfache InputBox ersetzt.

[2.2] Die Datei "CALC.ods" ist eine unveränderte Kopie Deiner Datei 
"Kopfzeilen_Texte.ods".

[2.3] Die Datei "WRITER.odt" ist eine Kopie Deiner Datei "Musterbuch mit 
Makro_06.odt", wobei ich lediglich

+ Dein Makro "modKopfzeile" entfernt habe.
+ die Schaltfläche "Start Texte eintragen" entfernt habe.

[2.4] Soweit ich es überschaut habe, liefert mein Makro das gleiche Ergebnis 
wie Dein Makro (identische Seitenzahl von 249 Seiten und entsprechende 
Kopfzeilen-Einträge, aber auf der letzten Seite (249) gibt es eine (kleine) 
Abweichung:

+ Dein Makro: "Mein Text Links 10" und "Mein Text

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-05 Diskussionsfäden Gerhard Weydt

Hallo Jürgen, Hans-Werner,

das "eingedampfte" Makro, das ich in meiner Mail vom 3.4. mitgeteilt 
habe, zeigt das Phänomen, bei Aufruf per Schaltfläche hängenzubleiben, 
aber bei direktem Aufruf durchzulaufen, enthält aber gar keine File 
Picker! Daher kann ich mir nicht vorstellen, dass es am File Picker 
liegen sollte.
Was ich allerdings nun nicht mehr nachvollziehen kann, ist das mein neu 
aufgebautes Dokument den Fehler nicht mehr produzieren soll, nun verhält 
es sich genauso wie das von Jürgen erhaltene Dokument, beide mit dem 
reduzierten Code. Da ich aber doch darauf schwören möchte, dass ich mich 
nicht getäuscht habe, weckt das meinen Jagdinstinkt, und ich werde 
weiter rumprobieren.
Aber diese beiden Bemerkiungen wollte ich doch gleich nach dem Lesen der 
Nachricht loslassen.


Gruß

Gerhard

Am 05.04.2019 um 13:37 schrieb OoOHWHOoO:

Hallo Juergen & *,

nachdem Gerhard festgestellt hatte 
(https://listarchives.libreoffice.org/de/users/msg21491.html), dass 
Dein Makro bei direktem Start von "StartKopfzeile" in der BASIC-IDE 
(interner Start) fehlerfrei läuft im Gegensatz zum Start über die 
Schaltfläche "Start Texte eintragen" in der Datei "Musterbuch mit 
Makro_06.odt" (externer Start), habe ich mir überlegt zu schauen, was 
passiert, wenn man Dein Makro über ein Windows-CMD extern startet, was 
ja auch eine Form des externen Makro-Starts darstellt.


Da mir Dein Makro (für eventuelle Fehlersuche) durch die vielen SUBs 
und FUNCTIONs zu unübersichtlich ist, habe ich es mal neu geschrieben 
auf Basis des von Dir verwendeten Algorithmus.


Das (neue) Makro läuft fehlerhaft, wenn man den 
Betriebssystem-FilePicker "com.sun.star.ui.dialogs.FilePicker" auswählt.


Im Kontext der von Oliver und mir festgestellten Probleme mit dem 
Betriebssystem-FolderPicker "com.sun.star.ui.dialogs.FolderPicker" 
scheint es mir doch nun sehr wahrscheinlich, dass da ein Problem mit 
der Picker-Software vorliegt, wenn man die Betriebssystem-Versionen 
der Picker-Software verwendet - also auch Deine Probleme mit Deinem 
Makro wohl damit zusammenhängen.


Gruß
Hans-Werner

[1] Ergebnis (Systemumgebung: LO 6.2.2.2 (x64) @ Windows 7 Home 
Premium 64-bit)


[1.1] Verwendet man für die Dateiauswahl den Betriebssystem-FilePicker 
("com.sun.star.ui.dialogs.FilePicker"), bleibt das Makro nach der 
Dateiauswahl hängen.


[1.2] Verwendet man für die Dateiauswahl den Office-FilePicker 
("com.sun.star.ui.dialogs.OfficeFilePicker"), läuft das Makro 
fehlerfrei durch.


[1.3] Verwendet man in Deinem Makro den Office-FilePicker 
("com.sun.star.ui.dialogs.OfficeFilePicker"), hat dies keine 
Auswirkung auf das Hängenbleiben bei dem MsgBox-Aufruf. Ich spekuliere 
mal, dass da wohl vielleicht noch andere ungünstige Randbedingungen 
auftreten, die den FilePicker-Fehler kaschieren oder auch der 
FilePicker-Fehler selbst andere Fehler verursacht.


[2] Das "neue" Makro

[2.1] Die Dialog-Sachen (Schaltfläche "Start Texte eintragen") habe 
ich durch eine einfache InputBox ersetzt.


[2.2] Die Datei "CALC.ods" ist eine unveränderte Kopie Deiner Datei 
"Kopfzeilen_Texte.ods".


[2.3] Die Datei "WRITER.odt" ist eine Kopie Deiner Datei "Musterbuch 
mit Makro_06.odt", wobei ich lediglich


+ Dein Makro "modKopfzeile" entfernt habe.
+ die Schaltfläche "Start Texte eintragen" entfernt habe.

[2.4] Soweit ich es überschaut habe, liefert mein Makro das gleiche 
Ergebnis wie Dein Makro (identische Seitenzahl von 249 Seiten und 
entsprechende Kopfzeilen-Einträge, aber auf der letzten Seite (249) 
gibt es eine (kleine) Abweichung:


+ Dein Makro: "Mein Text Links 10" und "Mein Text Rechts 10Mein Text 
Rechts 10Mein Text Rechts 10"

+ Mein Makro: "Mein Text Links 10" und "Mein Text Rechts 10"

[2.5] Falls Du weitere Abweichungen oder Fehlfunktionen in dem (neuen) 
Makro feststellen solltest, so melde Dich bitte.


[3] Hinweise:

[3.1] Makro (Download-Datei: Kopfzeilen.txt)

Das (neue) Makro besteht aus der "Sub Kopfzeilen" und der "Function  
DateiAuswahl".


[3.2] Windows-CMD (Download-Datei: Kopfzeilen.cmd)

Damit kann man das Makro (unter Windows) extern starten (für Linux 
entsprechend BASH-Syntax):


SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Kopfzeilen.Kopfzeilen()"
%L% --nologo %M%

Mit:

+ Der Speicherpfad von "soffice.exe", muss gegebenenfalls angepasst 
werden:


SET L="C:/Program Files/LibreOffice/program/soffice.exe"

+ Der Speicherpfad des Makros:

SET M="macro:///Standard.Kopfzeilen.Kopfzeilen()"

+ Standard = Bibliothek = "[Meine Makros & Dialoge].Standard"
+ Kopfzeilen = Modul = "Kopfzeilen"
+ Kopfzeilen() = Makro (im Modul "Kopfzeilen")

Wenn Du das Makro in der BASIC-IDE nicht in einem Modul abspeicherst, 
dann nur: SET M="macro:///Standard.Kopfzeilen()"


[3.3] CALC.ods

Siehe [2.2] !

[3.4] WRITER.odt

Siehe [3.2] !

[3.5] Download-Link

https://www.magentacloud.de/share/r8eyn.v.s0

enthält:

Kopfzeilen.txt
Kopzeilen.cmd
WRITER.odt
CALC.ods

[4] Marko-Code

Dies nur zur Vorschau. Der 

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-05 Diskussionsfäden OoOHWHOoO

Hallo Juergen & *,

nachdem Gerhard festgestellt hatte 
(https://listarchives.libreoffice.org/de/users/msg21491.html), dass Dein 
Makro bei direktem Start von "StartKopfzeile" in der BASIC-IDE (interner 
Start) fehlerfrei läuft im Gegensatz zum Start über die Schaltfläche 
"Start Texte eintragen" in der Datei "Musterbuch mit Makro_06.odt" 
(externer Start), habe ich mir überlegt zu schauen, was passiert, wenn 
man Dein Makro über ein Windows-CMD extern startet, was ja auch eine 
Form des externen Makro-Starts darstellt.


Da mir Dein Makro (für eventuelle Fehlersuche) durch die vielen SUBs und 
FUNCTIONs zu unübersichtlich ist, habe ich es mal neu geschrieben auf 
Basis des von Dir verwendeten Algorithmus.


Das (neue) Makro läuft fehlerhaft, wenn man den 
Betriebssystem-FilePicker "com.sun.star.ui.dialogs.FilePicker" auswählt.


Im Kontext der von Oliver und mir festgestellten Probleme mit dem 
Betriebssystem-FolderPicker "com.sun.star.ui.dialogs.FolderPicker" 
scheint es mir doch nun sehr wahrscheinlich, dass da ein Problem mit der 
Picker-Software vorliegt, wenn man die Betriebssystem-Versionen der 
Picker-Software verwendet - also auch Deine Probleme mit Deinem Makro 
wohl damit zusammenhängen.


Gruß
Hans-Werner

[1] Ergebnis (Systemumgebung: LO 6.2.2.2 (x64) @ Windows 7 Home Premium 
64-bit)


[1.1] Verwendet man für die Dateiauswahl den Betriebssystem-FilePicker 
("com.sun.star.ui.dialogs.FilePicker"), bleibt das Makro nach der 
Dateiauswahl hängen.


[1.2] Verwendet man für die Dateiauswahl den Office-FilePicker 
("com.sun.star.ui.dialogs.OfficeFilePicker"), läuft das Makro fehlerfrei 
durch.


[1.3] Verwendet man in Deinem Makro den Office-FilePicker 
("com.sun.star.ui.dialogs.OfficeFilePicker"), hat dies keine Auswirkung 
auf das Hängenbleiben bei dem MsgBox-Aufruf. Ich spekuliere mal, dass da 
wohl vielleicht noch andere ungünstige Randbedingungen auftreten, die 
den FilePicker-Fehler kaschieren oder auch der FilePicker-Fehler selbst 
andere Fehler verursacht.


[2] Das "neue" Makro

[2.1] Die Dialog-Sachen (Schaltfläche "Start Texte eintragen") habe ich 
durch eine einfache InputBox ersetzt.


[2.2] Die Datei "CALC.ods" ist eine unveränderte Kopie Deiner Datei 
"Kopfzeilen_Texte.ods".


[2.3] Die Datei "WRITER.odt" ist eine Kopie Deiner Datei "Musterbuch mit 
Makro_06.odt", wobei ich lediglich


+ Dein Makro "modKopfzeile" entfernt habe.
+ die Schaltfläche "Start Texte eintragen" entfernt habe.

[2.4] Soweit ich es überschaut habe, liefert mein Makro das gleiche 
Ergebnis wie Dein Makro (identische Seitenzahl von 249 Seiten und 
entsprechende Kopfzeilen-Einträge, aber auf der letzten Seite (249) gibt 
es eine (kleine) Abweichung:


+ Dein Makro: "Mein Text Links 10" und "Mein Text Rechts 10Mein Text 
Rechts 10Mein Text Rechts 10"

+ Mein Makro: "Mein Text Links 10" und "Mein Text Rechts 10"

[2.5] Falls Du weitere Abweichungen oder Fehlfunktionen in dem (neuen) 
Makro feststellen solltest, so melde Dich bitte.


[3] Hinweise:

[3.1] Makro (Download-Datei: Kopfzeilen.txt)

Das (neue) Makro besteht aus der "Sub Kopfzeilen" und der "Function  
DateiAuswahl".


[3.2] Windows-CMD (Download-Datei: Kopfzeilen.cmd)

Damit kann man das Makro (unter Windows) extern starten (für Linux 
entsprechend BASH-Syntax):


SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Kopfzeilen.Kopfzeilen()"
%L% --nologo %M%

Mit:

+ Der Speicherpfad von "soffice.exe", muss gegebenenfalls angepasst 
werden:


SET L="C:/Program Files/LibreOffice/program/soffice.exe"

+ Der Speicherpfad des Makros:

SET M="macro:///Standard.Kopfzeilen.Kopfzeilen()"

+ Standard = Bibliothek = "[Meine Makros & Dialoge].Standard"
+ Kopfzeilen = Modul = "Kopfzeilen"
+ Kopfzeilen() = Makro (im Modul "Kopfzeilen")

Wenn Du das Makro in der BASIC-IDE nicht in einem Modul abspeicherst, 
dann nur: SET M="macro:///Standard.Kopfzeilen()"


[3.3] CALC.ods

Siehe [2.2] !

[3.4] WRITER.odt

Siehe [3.2] !

[3.5] Download-Link

https://www.magentacloud.de/share/r8eyn.v.s0

enthält:

Kopfzeilen.txt
Kopzeilen.cmd
WRITER.odt
CALC.ods

[4] Marko-Code

Dies nur zur Vorschau. Der eMail-Server wird wohl wieder 
aufeinanderfolgende Leerzeichen reduzieren, wodurch die Struktur 
vermurkst wird. Deshalb besser "Kopfzeilen.txt" anschauen und nutzen, 
aber für einen ersten Einblick reicht das schon:


  Sub Kopfzeilen

 Dim AAM  as Integer ' Anzahl Arrayelemente Maximum
 Dim ASM  as Integer ' Anzahl Seiten Maximum
 Dim AFGR as String  ' Absatz Formatierung Gerade   Rechtsbündig
 Dim AFUL as String  ' Absatz Formatierung Ungerade Linksbündig
 Dim DAC  as String  ' Datei Art CALC
 Dim DAW  as String  ' Datei Art WRITER
 Dim DC   as String  ' Document CALC: ""= 
interaktive Dateiauswahl
 '"/'pfad'/'datei'" = keine 
ineraktive Dateiauswahl

 Dim DF   as String  ' Dialog Form: "B" = Betriebssystem
 '  "O" = Office
 Dim 

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-04 Diskussionsfäden OoOHWHOoO

Guten Morgen Gerhard,

ich habe auch mal ein wenig getestet:

[0] Meine Testumgebung

+ Windows 7 Home Premium 64-bit
+ LO 5.3.7.2 (x64) PARALLEL-INSTALLATION
+ LO 6.1.4.2 (x64) PARALLEL-INSTALLATION
+ LO 6.1.5.2 (x64) PARALLEL-INSTALLATION
+ LO 6.2.1.2 (x64) PARALLEL-INSTALLATION
+ LO 6.2.2.2 (x64) INSTALLATION
+ LO 6.2.3.1 (x64) PARALLEL-INSTALLATION

[1] Ich kann bestätigen, dass das Makro von Juergen IMMER fehlerfrei 
abläuft, wenn man es direkt aus der BASIC-IDE via "StartKopfzeile" 
startet (5.3.7.2 + 6.1.4.1 + 6.1.5.2 + 6.2.1.2 + 6.2.2.2 + 6.2.3.1).


:
Call xSeite
REM 
???

REM Einfrieren von LO nach Aktivierung dieser Messagebox
Msgbox "Test"
REM 
???

:

[2] Ich kann Juergens Aussage NICHT BESTÄTIGEN, dass sein Makro vor 
6.2.1.2 funktionierte ( 5.3.7.2 OKAY + 6.1.4.2 ERROR + 6.1.5.2 ERROR + 
6.2.1.2 ERROR + 6.2.2.2 ERROR + 6.2.3.1 ERROR).


[3] Im Laufe dieses Threads wurden 3 (verschiedene) Probleme mitgeteilt:

[3.1] Juergen

Sein BASIC-Makro läuft mit 6.2.1.2 (oder neuer) nicht mehr. Ich kann das 
nicht bestätigen, auch mit 6.1.5.2 (s.o.). Bleibt nach dem MsgBox-Aufruf 
hängen (soffice.bin mit 25% CPU-Last bei meinen Tests).


[3.2] Hans-Werner

Bei externem Aufruf bleibt nach Anzeige des FolderPicker Betriebssystem 
(com.sun.star.ui.dialogs.FolderPicker) und durchgeführter Ordnerauswahl 
das BASIC-Makro hängen (soffice.bin mit 0% CPU-Last bei meinen Tests). 
Bei Aufruf des Makros direkt aus der BASIC-IDE tritt der Fehler nicht 
auf. Mit dem FolderPicker LibreOffice 
(com.sun.star.ui.dialogs.OfficeFolderPicker) funktioniert das Makro 
fehlerfrei.


[3.3] Oliver

Sein BEANSHELL-Makro bleibt ab LO 6.1.5.2 (oder neuer unter Windows 10) 
bei Nutzung des FolderPicker Betriebssystem 
(com.sun.star.ui.dialogs.FolderPicker) hängen 
(https://bugs.documentfoundation.org/show_bug.cgi?id=123502). Bei 
Nutzung des FolderPicker LibreOffice 
(com.sun.star.ui.dialogs.OfficeFolderPicker) funktioniert das Makro 
fehlerfrei. Sein gemeldetes Problem konnte (von anderen laut BugReport 
(nur unter Linux ?) ) nicht reproduziert werden. Mit LO 6.1.4.2 (oder 
älter ?) tritt das Problem nicht auf. Wenn ich sein "crash" und "Das 
Programm "[1236] soffice.bin" wurde mit Code 0 (0x0) beendet." richtig 
deute, heißt das wohl, dass LO komplett abstürzt und LO nicht hängen 
bleibt. Es ist auch nicht ersichtlich (bzw. getestet) was passiert, ob 
das BEANSHELL-Makro läuft, wenn es aus der BEANSHELL-IDE heraus 
gestartet wird, wenn es so eine IDE gibt (habe selbst mit BEANSHELL 
keinerlei Erfahrung). Weiterhin merkt Oliver an, das wohl die 
FolderPicker-Implementierung modifiziert wurde 
(https://bugs.documentfoundation.org/show_bug.cgi?id=123502#c8). Das 
konnte ich allerdings nicht nachvollziehen, weil die zugehörige 
PDF-Datei 
(https://bug-attachments.documentfoundation.org/attachment.cgi?id=149336) 
nur sehr unvollständig angezeigt wird.


[4] Von mir mitgeteilte Problematik

[4.1] Makro

Sub TEST_HansWerner
Const FolderPicker = "com.sun.star.ui.dialogs.FolderPicker"
' Const FolderPicker = "com.sun.star.ui.dialogs.OfficeFolderPicker"
Dim DialogFolderPicker as Object
Dim FolderPickerService as String
Dim SelectedFolder as String
Dim PropertyValue(0) as New com.sun.star.beans.PropertyValue
DialogFolderPicker = CreateUnoService(FolderPicker)
DialogFolderPicker.execute()
SelectedFolder = DialogFolderPicker.getDirectory()
MsgBox("SelectedFolder = " & SelectedFolder)
PropertyValue(0).name = "Hidden"
PropertyValue(0).value = False
StarDesktop.loadComponentFromURL("private:factory/scalc","_blank",0,PropertyValue())
MsgBox ("new CALC opened")
End Sub

[4.2] Windows-CMD

SET L="E:/LOP/LibreOffice 6.1.4.2/program/soffice.exe"
SET M="macro:///Standard.Test.TEST_HansWerner()"
%L% --nologo %M%

Mit (SET M="macro:///Standard.Test.TEST_HansWerner()"):

+ "Standard" = Bibliothek = [Meine Makros & Dialoge].Standard
+ "Test" = Modul = Test
+ "TEST_HansWerner()" = Makro = TEST_HansWerner

[4.1] Mit »Const FolderPicker = 
"com.sun.star.ui.dialogs.OfficeFolderPicker"« funktioniert das Makro 
IMMER, egal, ob extern gestartet (Windows-CMD) oder intern gestartet 
(BASIC-IDE).


[4.2] Mit »Const FolderPicker = "com.sun.star.ui.dialogs.FolderPicker"« 
funktioniert das Makro immer, wenn es intern gestartet (BASIC-IDE) 
gestartet wird.


[4.3] Mit »Const FolderPicker = "com.sun.star.ui.dialogs.FolderPicker"« 
funktioniert das Makro nur bis einschließlich "LO 6.1.5.2", wenn es 
extern gestartet (Windows-CMD) wird.


[4.4] Mit »Const FolderPicker = "com.sun.star.ui.dialogs.FolderPicker"« 
bleibt das Makro ab "LO 6.2.1.2" (einschließlich) hängen, wenn es extern 
gestartet (Windows-CMD) wird:


+ soffice.bin: CPU-Last 0%
+ Startet man (manuell) in dieser Situation nochmals "C:\Program 
Files\LibreOffice\program\soffice.exe", wird das Makro weiter 
(fehlerfrei) ausgeführt.


[5] Zusammenfassung

[5.1] Bei allen 

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-03 Diskussionsfäden Jürgen Klatt

Hallo Gerhard,

Am 03.04.2019 um 22:33 schrieb Gerhard Weydt:

Ich habe dafür keine Erklärung.
Ich habe dann ein neues Writer-Dokument erzeugt, habe die
Schaltfläche, den Dialog und den Makro-Code kopiert und eingefügt.
Dieses Dokument liefert nun aber keinen Fehler, so dass ich annehmen
möchte, dass irgend etwas im Dokument von Jürgen faul ist.

Zum Dokument berichte ich wie folgt:
Das Originaldokument, des besagten Herrn, für das diese Makro konzipiert
ist, ist ein Buch mit ca. 250 Seiten.
Das Makro lief einwandfrei.
Zu Testzwecken hatte ich zuvor ein leeres Dokument mit mehr als 240
Seiten erstellt.
Auch hier gab es anfänglich keinerlei Probleme.
Erst nach besagtem LibO-Update und einem Win-Update wurde fror LibO ein.
1. Maßnahme ein gänzlich neue Dokument erstellt und den Code hineinkopiert.
Ergebnis LibO friert ein, AOO nicht.
2. LibO Benutzerverzeichnis umbenannt
Ergebnis LibO friert ein, AOO nicht.
und vieles mehr...

Bei einer meiner Tests in den letzten Tagen ist mir dieses aufgefallen:
a)  Writer mit dem Dokument öffnen
b)  Basic-IDE öffnen
c) Das Programm mit aktivierter abschließender Messagebox starten (egal
ob aus dem Dokument oder aus der IDE)
d) LibO friert ein
e) Taskmanger öffnen ( CPU-Last ca. 25% und sehr hoher Stromverbauch)
f) Im Prozesse LibO nur die Basic-IDE killen, in diesem Moment schaltet
die Ansicht im TM um auf "Warten auf Benutzer"

Dieses hat für mich den Anschein, dass LibO nicht eingefroren ist,
sondern die Messagebox den Fokus verloren hat,
aber nicht mehr mit Mausklick reaktivierbar ist.

Viele Grüße

Jürgen





--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-03 Diskussionsfäden Jürgen Klatt

Hallo Gerhard,

Am 03.04.2019 um 22:33 schrieb Gerhard Weydt:

Frage noch an Jürgen: Warum wird der Dialog erst zur Laufzeit erzeugt,
gibt es da einen Grund in dem wahrscheinlich komplizierteren
Originaldokument? Ein vorab definierter Dialog ist viel bequemer, man
muss sich nicht mit den Listenern befassen.

Das Makro habe ich nicht für mich geschrieben, sondern für eine älteren
Herrn (>80 J.).
Es lief einwandfrei und er hatte es mehrfach in Gebrauch.
Dieser hatte schon bei diversen einfacheren Makros Probleme mit der
Verwaltung von Makros.
Eigene Biblitheken anlegen, was sind Module, etc.
Deshalb habe ich alles in einem Modul abgelegt.
Ein gezeichnetes Dialogfenster hätte für ihn alles zu sehr verkompliziert.

Nun ich hatte auch schon die Listener in Verdacht, zumal ich die
Schaltfläche
auf dem Dialog per Code geklont habe. Bevor ich das erstemal hier
gepostet habe, hatte ich den Code so umgeschrieben,
dass nur eine Schaltfläche und ein LIstener aktiv war. Aber auch hier
blieb das Programm hängen.

Viele Grüße

Jürgen





--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-03 Diskussionsfäden Gerhard Weydt

Hallo Jürgen, Hans-Werner, Oliver,

ich habe nun das Problem ziemlich eingrenzen können, kann aber keine 
Erklärung für das Verhalten finden.


Aber im Detail:
Ich habe Jürgens Programm reduziert, bis ich zu dem folgenden Rumpf 
gekommen bin:


Sub StartKopfzeile

    DialogLibraries.LoadLibrary("Standard")    'auch ein fester Dialog 
bringt keine Änderung

    oDlg = createUnoDialog(DialogLibraries.Standard.Dialog1)
    oDlg.execute

End Sub


REM Aktion Pseudo-Kopfzeilen eintragen und formatieren
Sub btnStart_actionPerformed(oEvent2)

     sUrl = 
converttoUrl("C:\Users\zwi\Musterdateien_02\Kopfzeilen_Texte.ods")

    Dim zFileProperties() As New com.sun.star.beans.PropertyValue
        ' Datei im Hintergrund öffnen
        oDocC = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, 
zFileProperties())

Xray oDocC

End Sub

Ich habe einen festen Dialog verwendet und auch den Dateinamen fest 
eingegeben und das Hidden weggelassen, es war ja sowieso nicht aktiv, 
dadurch fällt sehr viel im Code weg.


Das Verhalten ändert sich dadurch nicht, nach dem Xray bleibt LibO 
hängen; das scheint bei jeder Art von Dialog zu passieren.
_*Das Wichtige aber:*_ startet man StartKopfzeile statt über die 
Schaltfläche direkt aus der Basic-IDE, dann läuft das Programm durch! 
Das ist möglicherweise auch der Grund, warum es bei Olivers Test im 
Batch geklappt hat.


Ich habe dafür keine Erklärung.
Ich habe dann ein neues Writer-Dokument erzeugt, habe die Schaltfläche, 
den Dialog und den Makro-Code kopiert und eingefügt. Dieses Dokument 
liefert nun aber keinen Fehler, so dass ich annehmen möchte, dass irgend 
etwas im Dokument von Jürgen faul ist.


Das gleiche Vorgehen würde ich Jürgen empfehlen, ob sich jemand findet, 
der den wirklichen Grund rauskriegt, halte ich doch für fraglich.


Frage noch an Jürgen: Warum wird der Dialog erst zur Laufzeit erzeugt, 
gibt es da einen Grund in dem wahrscheinlich komplizierteren 
Originaldokument? Ein vorab definierter Dialog ist viel bequemer, man 
muss sich nicht mit den Listenern befassen.


Gruß

Gerhard


Am 02.04.2019 um 20:22 schrieb OoOHWHOoO:

Hallo Oliver,

da fällt mir jetzt nichts mehr dazu ein, außer:

Hast Du das Makro mit "LO 6.2.1.2 (x64)" oder neuer getestet ? Der 
Fehler tritt erst ab "LO 6.2.x.x" auf !


Aus Deinem BugReport geht hervor, dass Dein Betriebssystem "Windows 
10" ist, meines ist "Windows 7 Home Premium 64-bit". So könnte das 
Ganze auch eine "Windows 7"-spezifisches Problem sein, wenn Du das 
Makro mit "LO 6.2.1.2 (x64)" oder neuer getestet hast.


Grüße
Hans-Werner

-- Originalnachricht --
Von: "Oliver Brinzing" 
An: users@de.libreoffice.org
Gesendet: 02.04.2019 19:02:17
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo Hans-Werner,

also ich hab das Makro extern via Batch gestartet - mit und ohne 
aktiven Schnellstarter.

Bei mir läuft das durch, hab es mehrfach versucht.

Gruß
Oliver

Am 02.04.2019 um 08:51 schrieb OoOHWHOoO:

Bezug 1: https://listarchives.libreoffice.org/de/users/msg21463.html
Bezug 2: https://listarchives.libreoffice.org/de/users/msg21448.html

Hallo Oliver,

ich habe jetzt mal ganz ausführlich getestet (s.u. TESTREIHE):

[1] Es ist unerheblich, ob man den extern Makro-Aufruf via 
"WindowsBatch" oder "Perl" durchführt.
Sollte also auch mit einem (vergleichbaren) Linux-BASH-Aufruf 
funktionieren.


[2] Mit der LO-Dateiauswahl 
(com.sun.star.ui.dialogs.OfficeFolderPicker) funktioniert das Makro

IMMER FEHLERFREI.

[3] Mit der Betriebssystem-Dateiauswahl 
(com.sun.star.ui.dialogs.FolderPicker) funktioniert das

Makro ab "LO 6.2.1.2" NICHT MEHR.

[3.1] Das Makro bleibt hängen, wenn man via angezeigter Dateiauswahl 
ein Verzeichnis ausgewählt hat

und danach die Dateiauswahl wieder (automatisch) ausgeblendet wurde.
[3.2] Der WindowsTaskManager zeigt an, dass die Prozesse 
"soffice.bin" und "soffice.exe" existieren,

aber keinerlei CPU-Last erzeugen.

[4] Startet man in der Hängenbleiben-Situation [3.1] zusätzlich 
manuell "soffice.exe" nochmals,

läuft das Makro dann fehlerfrei weiter.

[4.1] Entgegen meiner früheren Aussage, muss man (beispielsweise) 
nicht eine neue CALC manuell

öffnen, es reicht "soffice.exe" manuell (nachzu) starten.

Wie das jetzt alles zusammenhängt ( Warum läuft das Makro weiter, 
wenn man "soffice.exe" manuell
nachstartet ?) kann ich nicht erklären, da ich zu wenig über die 
LO-internen Abläufe weiß.


Grüße
Hans-Werner

TESTREIHE

(A)   LO 5.3.7.2 (x64) - Installation PARALLEL

"com.sun.star.ui.dialogs.FolderPicker" => OKAY
"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY

(B)   LO 6.1.5.2 (x64) - Installation PARALLEL

"com.sun.star.ui.dialogs.FolderPicker" => OKAY
"com.sun.star.ui.dialogs.OfficeFolderPicker" => O

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-02 Diskussionsfäden Jürgen Klatt

Hallo,

vielen Dank für Eure vielfältigen Ratschläge, Tests und Eure Zeit.

Auch ich war in der Zwischenzeit nicht untätig.
Mein Betreibssystem ist Win 10 Pro (x64) 1809 Build (17763.379)

Habe nach wie vor Probleme mit den Abstürzen, wenn ich die abschließende
Messagebox aktiviere.
Auch Verzögerungen durch Wait haben nichts gebracht.
Das Makro habe ich nun umgeschrieben und zwei Labels oberhalb der
Schaltflächen eingefügt,
welche nun den jeweiligen Status farblich und mit Meldungen versehen
anzeigen.
Dies funktioniert ohne Absturz.

Zum Absturz, bzw. Einfrieren habe ich die Windows-Prozesse, bzw. die
Libreoffice-Prozesse
im Augenblick des Einfrieren genauer unter die Lupe genommen.
Zur Analyse von Prozessen habe ich mir vor längerer Zeit das Tool
"ProcMon.Exe 3.5" heruntergeladen.
Download unter:
https://live.sysinternals.com/ <https://live.sysinternals.com/>

Mit dem Tool habe ich mir zum Zeitpunkt des Einfrierens
eine CSV-Datei mit alle aktiven Prozesses schreiben lassen.
Dann habe ich die LibO-Prozesse mittels Calc herausfiltern lassen.
Im Anschluß die Duplikate der Spalte "Results" herausgefiltert.
Dabei kamen diese Results heraus:

SUCCESS
REPARSE
NAME NOT FOUND
FILE LOCKED WITH ONLY READERS
NO MORE ENTRIES
BUFFER OVERFLOW
ACCESS DENIED
NO SUCH FILE
NAME COLLISION
NO MORE FILES
PATH NOT FOUND
END OF FILE
INVALID PARAMETER
NOT A DIRECTORY
SHARING VIOLATION
0xC4AE
FILE LOCKED WITH WRITERS
BUFFER TOO SMALL
IS DIRECTORY
NOT REPARSE POINT
FS DRIVER REQUIRED
OBJECT PATH INVALID

Zu den einzelnen Results, gibt es in der Spalte Path Hinweise zum
Ursprung der Meldung.

Bei meinen weiteren Überlegungen hatte ich auch meine Firewall und den
Virenscanner in Verdacht.
Denn zum Zeitpunkt des Absturzes schnellt bekanntlich die CPU-Last auf
25-28% hoch und
außerdem wird ein sehr hoher Stromverbrauch gemessen. Da lag die
Vermutung nahe,
dass die Firewall einen Angriff vermutet. Das hat sich nicht bewahrheitet.
Hatte Virenscanner und Firewall abgeschaltet und einen Crash provoziert.

Die nächste Überlegung geht in Richtung Betriebssytem.
Da ich nach der Erstellung meines ursprüglichen Makros ein
WIN-Update von 1803 auf 1809 durchgeführt hatte.
Ggf. gibt ist in 1809 irgendwelche neuen Sicherheitsfunktionen,
welche Programme mit sehr hohem Stromverbraucxh blocken.
Diese ist aber auch nur eine Vermutung. Möchte auch nicht an meinem
störungsfrei laufenden Betriebsystem herumbasteln.

Die Frage welche sich abschließend stellt, warum kommt es zu einem
BUFFER OVERFLOW, BUFFER TOO SMALL, etc. wenn eine Messagebox aufpoppt?
Und warum wird ein so hoher Stromverbrauch gemessen?

Ach ja, warum dies: NAME COLLISION?
Dieses Result wird mir durchgängig bei Prozess soffice.bin in Verbindung
mit meinem Windows-User-Pfad bishin zum LibO\4\User angezeigt.
Mein Name ohne Umlaut geschrieben: Juergen

Nochmals Dank für Alles und an Alle!

Viele Grüße

Jürgen




Am 02.04.2019 um 20:22 schrieb OoOHWHOoO:

Hallo Oliver,

da fällt mir jetzt nichts mehr dazu ein, außer:

Hast Du das Makro mit "LO 6.2.1.2 (x64)" oder neuer getestet ? Der
Fehler tritt erst ab "LO 6.2.x.x" auf !

Aus Deinem BugReport geht hervor, dass Dein Betriebssystem "Windows
10" ist, meines ist "Windows 7 Home Premium 64-bit". So könnte das
Ganze auch eine "Windows 7"-spezifisches Problem sein, wenn Du das
Makro mit "LO 6.2.1.2 (x64)" oder neuer getestet hast.

Grüße
Hans-Werner

-- Originalnachricht --
Von: "Oliver Brinzing" 
An: users@de.libreoffice.org
Gesendet: 02.04.2019 19:02:17
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice
nach Makrodurchlauf


Hallo Hans-Werner,

also ich hab das Makro extern via Batch gestartet - mit und ohne
aktiven Schnellstarter.
Bei mir läuft das durch, hab es mehrfach versucht.

Gruß
Oliver

Am 02.04.2019 um 08:51 schrieb OoOHWHOoO:

Bezug 1: https://listarchives.libreoffice.org/de/users/msg21463.html
Bezug 2: https://listarchives.libreoffice.org/de/users/msg21448.html

Hallo Oliver,

ich habe jetzt mal ganz ausführlich getestet (s.u. TESTREIHE):

[1] Es ist unerheblich, ob man den extern Makro-Aufruf via
"WindowsBatch" oder "Perl" durchführt.
Sollte also auch mit einem (vergleichbaren) Linux-BASH-Aufruf
funktionieren.

[2] Mit der LO-Dateiauswahl
(com.sun.star.ui.dialogs.OfficeFolderPicker) funktioniert das Makro
IMMER FEHLERFREI.

[3] Mit der Betriebssystem-Dateiauswahl
(com.sun.star.ui.dialogs.FolderPicker) funktioniert das
Makro ab "LO 6.2.1.2" NICHT MEHR.

[3.1] Das Makro bleibt hängen, wenn man via angezeigter Dateiauswahl
ein Verzeichnis ausgewählt hat
und danach die Dateiauswahl wieder (automatisch) ausgeblendet wurde.
[3.2] Der WindowsTaskManager zeigt an, dass die Prozesse
"soffice.bin" und "soffice.exe" existieren,
aber keinerlei CPU-Last erzeugen.

[4] Startet man in der Hängenbleiben-Situation [3.1] zusätzlich
manuell "soffice.exe" nochmal

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-02 Diskussionsfäden Oliver Brinzing

Hallo Hans-Werner,

also ich hab das Makro extern via Batch gestartet - mit und ohne aktiven 
Schnellstarter.
Bei mir läuft das durch, hab es mehrfach versucht.

Gruß
Oliver

Am 02.04.2019 um 08:51 schrieb OoOHWHOoO:

Bezug 1: https://listarchives.libreoffice.org/de/users/msg21463.html
Bezug 2: https://listarchives.libreoffice.org/de/users/msg21448.html

Hallo Oliver,

ich habe jetzt mal ganz ausführlich getestet (s.u. TESTREIHE):

[1] Es ist unerheblich, ob man den extern Makro-Aufruf via "WindowsBatch" oder 
"Perl" durchführt.
Sollte also auch mit einem (vergleichbaren) Linux-BASH-Aufruf funktionieren.

[2] Mit der LO-Dateiauswahl (com.sun.star.ui.dialogs.OfficeFolderPicker) 
funktioniert das Makro
IMMER FEHLERFREI.

[3] Mit der Betriebssystem-Dateiauswahl (com.sun.star.ui.dialogs.FolderPicker) 
funktioniert das
Makro ab "LO 6.2.1.2" NICHT MEHR.

[3.1] Das Makro bleibt hängen, wenn man via angezeigter Dateiauswahl ein 
Verzeichnis ausgewählt hat
und danach die Dateiauswahl wieder (automatisch) ausgeblendet wurde.
[3.2] Der WindowsTaskManager zeigt an, dass die Prozesse "soffice.bin" und 
"soffice.exe" existieren,
aber keinerlei CPU-Last erzeugen.

[4] Startet man in der Hängenbleiben-Situation [3.1] zusätzlich manuell 
"soffice.exe" nochmals,
läuft das Makro dann fehlerfrei weiter.

[4.1] Entgegen meiner früheren Aussage, muss man (beispielsweise) nicht eine 
neue CALC manuell
öffnen, es reicht "soffice.exe" manuell (nachzu) starten.

Wie das jetzt alles zusammenhängt ( Warum läuft das Makro weiter, wenn man 
"soffice.exe" manuell
nachstartet ?) kann ich nicht erklären, da ich zu wenig über die LO-internen 
Abläufe weiß.

Grüße
Hans-Werner

TESTREIHE

(A)   LO 5.3.7.2 (x64) - Installation PARALLEL

"com.sun.star.ui.dialogs.FolderPicker" => OKAY
"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY

(B)   LO 6.1.5.2 (x64) - Installation PARALLEL

"com.sun.star.ui.dialogs.FolderPicker" => OKAY
"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY

(C)   LO 6.2.1.2 (x64) - Installation PARALLEL

"com.sun.star.ui.dialogs.FolderPicker" => ERROR
+ Makro bleibt hängen.
+ Startet man in dieser Situation "...\LibreOffice\program\soffice.exe" 
zusätzlich manuell nach,
läuft das Makro fehlerfrei weiter.

"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY

(D)   LO 6.2.2.2 (x64) - Installation STANDARD

"com.sun.star.ui.dialogs.FolderPicker" => ERROR
+ Makro bleibt hängen.
+ Startet man in dieser Situation "...\LibreOffice\program\soffice.exe" 
zusätzlich manuell nach,
läuft das Makro fehlerfrei weiter.

"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY




--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-02 Diskussionsfäden OoOHWHOoO

Bezug 1: https://listarchives.libreoffice.org/de/users/msg21463.html
Bezug 2: https://listarchives.libreoffice.org/de/users/msg21448.html

Hallo Oliver,

ich habe jetzt mal ganz ausführlich getestet (s.u. TESTREIHE):

[1] Es ist unerheblich, ob man den extern Makro-Aufruf via 
"WindowsBatch" oder "Perl" durchführt. Sollte also auch mit einem 
(vergleichbaren) Linux-BASH-Aufruf funktionieren.


[2] Mit der LO-Dateiauswahl (com.sun.star.ui.dialogs.OfficeFolderPicker) 
funktioniert das Makro IMMER FEHLERFREI.


[3] Mit der Betriebssystem-Dateiauswahl 
(com.sun.star.ui.dialogs.FolderPicker) funktioniert das Makro ab "LO 
6.2.1.2" NICHT MEHR.


[3.1] Das Makro bleibt hängen, wenn man via angezeigter Dateiauswahl ein 
Verzeichnis ausgewählt hat und danach die Dateiauswahl wieder 
(automatisch) ausgeblendet wurde.
[3.2] Der WindowsTaskManager zeigt an, dass die Prozesse "soffice.bin" 
und "soffice.exe" existieren, aber keinerlei CPU-Last erzeugen.


[4] Startet man in der Hängenbleiben-Situation [3.1] zusätzlich manuell 
"soffice.exe" nochmals, läuft das Makro dann fehlerfrei weiter.


[4.1] Entgegen meiner früheren Aussage, muss man (beispielsweise) nicht 
eine neue CALC manuell öffnen, es reicht "soffice.exe" manuell (nachzu) 
starten.


Wie das jetzt alles zusammenhängt ( Warum läuft das Makro weiter, wenn 
man "soffice.exe" manuell nachstartet ?) kann ich nicht erklären, da ich 
zu wenig über die LO-internen Abläufe weiß.


Grüße
Hans-Werner

TESTREIHE

(A)   LO 5.3.7.2 (x64) - Installation PARALLEL

"com.sun.star.ui.dialogs.FolderPicker" => OKAY
"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY

(B)   LO 6.1.5.2 (x64) - Installation PARALLEL

"com.sun.star.ui.dialogs.FolderPicker" => OKAY
"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY

(C)   LO 6.2.1.2 (x64) - Installation PARALLEL

"com.sun.star.ui.dialogs.FolderPicker" => ERROR
+ Makro bleibt hängen.
+ Startet man in dieser Situation "...\LibreOffice\program\soffice.exe" 
zusätzlich manuell nach, läuft das Makro fehlerfrei weiter.


"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY

(D)   LO 6.2.2.2 (x64) - Installation STANDARD

"com.sun.star.ui.dialogs.FolderPicker" => ERROR
+ Makro bleibt hängen.
+ Startet man in dieser Situation "...\LibreOffice\program\soffice.exe" 
zusätzlich manuell nach, läuft das Makro fehlerfrei weiter.


"com.sun.star.ui.dialogs.OfficeFolderPicker" => OKAY

--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-01 Diskussionsfäden OoOHWHOoO

Hallo Oliver,

nur zu Sicherheit:

Du hast das Makro extern gestartet mit einer Aufruf-Variante der Art

via Windows-Batch

SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Test.TEST_FolderPicker()"
%L% --nologo %M%

oder

via Perl

$L = "C:/Program Files/LibreOffice/program/soffice.exe";
$M = "macro:///Standard.Test.TEST_FolderPicker()";
`"$L" --nologo "$M"`;

oder

einem entsprechenden Aufruf in einer Linux-Umgebung ?

Wie ich in meiner Mail erwähnte:

[D] Seit wann dieses Problem genau auftritt kann ich leider nicht sagen, 
aber mit "LO 6.2.2.2 (x64) @ Windows 7 Home Premium 64-bit" tritt es 
sicher auf.


Ich habe [D] jetzt nochmals getestet und [B] trifft weiterhin zu.

Es kann schon sein, dass der Fehler mit 6.1. noch nicht auftrat, ich 
weiß es aber nicht mehr(mit Sicherheit). Aber ich werde mal 6.1.5.2 
parallel installieren und testen, es wird nur bis morgen dauern, aber 
ich melde mich diesbezüglich auf jeden Fall wieder.


Viele Grüße
Hans-Werner

-- Originalnachricht --
Von: "Oliver Brinzing" 
An: users@de.libreoffice.org
Gesendet: 01.04.2019 18:50:16
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo Hans-Werner,

ich hab's grad mit LO 6.1.5.2 versucht:

> [B] Wenn man [1.1] extern startet via [1.2] ,
> bleibt das Makro vor dem ERSTEN MsgBox-Aufruf hängen.
> Öffnet man während des Hängenbleibens ein neues CALC-Dokument,
> wird das Makro weiter ausgeführt.

Ich kann das so nicht bestätigen, das Makro läuft bei mir durch.

Gruß
Oliver


Am 31.03.2019 um 19:19 schrieb OoOHWHOoO:

Bezug: https://listarchives.libreoffice.org/de/users/msg21444.html

Hallo Oliver,

ich habe mal bissel was zusammengestellt. Die Makros habe ich so klein wie nur 
möglich gehalten
(SourceCodes siehe ganz unten):

[1] FolderPicker (Dateiauswahl via OperatingSystem)

[1.1] Sub TEST_FolderPicker (Makro)
[1.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)
[1.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

[2] FolderPickerOffice (Dateiauswahl via LibreOffice)

[2.1] Sub TEST_FolderPickerOffice (Makro)
[2.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)
[2.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

[A] Wenn man [1.1] und [2.1] in der BASIC-IDE (in einem geöffneten 
CALC-Dokument) startet,
funktionieren beide Makros fehlerfrei.

[B] Wenn man [1.1] extern startet via [1.2] oder [1.3], bleibt das Makro vor 
dem ERSTEN
MsgBox-Aufruf hängen. Öffnet man während des Hängenbleibens ein neues 
CALC-Dokument, wird das Makro
weiter ausgeführt.

[C] Wenn man [2.1] extern startet via [2.2] oder [2.3], wird das Makro 
fehlerfrei ausgeführt.

[D] Seit wann dieses Problem genau auftritt kann ich leider nicht sagen, aber mit 
"LO 6.2.2.2 (x64)
@ Windows 7 Home Premium 64-bit" tritt es sicher auf.

[E] Du kannst die SourceCodes für Deinen BugReport benutzen. Wenn ich es in 
Englisch erklärte, wäre
es wohl mehr verwirrend als erklärend ...

[F] Es könnte schon sein, dass diese FolderPicker-Problematik auch ein Hinweis 
auf die
FilePicker-Problematik dieses Threads sein könnte, zumindest aber, dass die 
Picker-Software nicht
mehr sauber funktioniert, an was auch immer es liegen mag.

Gruß
Hans-Werner

SourceCodes:

[1.1] Sub TEST_FolderPicker (Makro)

Sub TEST_FolderPicker
Const FolderPicker = "com.sun.star.ui.dialogs.FolderPicker"
Dim DialogFolderPicker as Object
Dim FolderPickerService as String
Dim SelectedFolder as String
Dim PropertyValue(0) as New com.sun.star.beans.PropertyValue
DialogFolderPicker = CreateUnoService(FolderPicker)
DialogFolderPicker.execute()
SelectedFolder = DialogFolderPicker.getDirectory()
MsgBox("SelectedFolder = " & SelectedFolder)
PropertyValue(0).name = "Hidden"
PropertyValue(0).value = False
StarDesktop.loadComponentFromURL("private:factory/scalc","_blank",0,PropertyValue())
MsgBox ("new CALC opened")
End Sub

[1.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)

SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Test.TEST_FolderPicker()"
%L% --nologo %M%

[1.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

$L = "C:/Program Files/LibreOffice/program/soffice.exe";
$M = "macro:///Standard.Test.TEST_FolderPicker()";
`"$L" --nologo "$M"`;

[2.1] Sub TEST_FolderPickerOffice (Makro)

Sub TEST_FolderPickerOffice
Const FolderPicker = "com.sun.star.ui.dialogs.OfficeFolderPicker"
Dim DialogFolderPicker as Object
Dim FolderPickerService as String
Dim SelectedFolder as String
Dim PropertyValue(0) as New com.sun.star.beans.PropertyValue
DialogFolderPicker = CreateUnoService(FolderPicker)
DialogFolderPicker.execute()
SelectedFolder = DialogFolderPicker.getDirectory()
MsgBox("SelectedFolder = " 

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-04-01 Diskussionsfäden Oliver Brinzing

Hallo Hans-Werner,

ich hab's grad mit LO 6.1.5.2 versucht:

> [B] Wenn man [1.1] extern startet via [1.2] ,
> bleibt das Makro vor dem ERSTEN MsgBox-Aufruf hängen.
> Öffnet man während des Hängenbleibens ein neues CALC-Dokument,
> wird das Makro weiter ausgeführt.

Ich kann das so nicht bestätigen, das Makro läuft bei mir durch.

Gruß
Oliver


Am 31.03.2019 um 19:19 schrieb OoOHWHOoO:

Bezug: https://listarchives.libreoffice.org/de/users/msg21444.html

Hallo Oliver,

ich habe mal bissel was zusammengestellt. Die Makros habe ich so klein wie nur 
möglich gehalten
(SourceCodes siehe ganz unten):

[1] FolderPicker (Dateiauswahl via OperatingSystem)

[1.1] Sub TEST_FolderPicker (Makro)
[1.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)
[1.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

[2] FolderPickerOffice (Dateiauswahl via LibreOffice)

[2.1] Sub TEST_FolderPickerOffice (Makro)
[2.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)
[2.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

[A] Wenn man [1.1] und [2.1] in der BASIC-IDE (in einem geöffneten 
CALC-Dokument) startet,
funktionieren beide Makros fehlerfrei.

[B] Wenn man [1.1] extern startet via [1.2] oder [1.3], bleibt das Makro vor 
dem ERSTEN
MsgBox-Aufruf hängen. Öffnet man während des Hängenbleibens ein neues 
CALC-Dokument, wird das Makro
weiter ausgeführt.

[C] Wenn man [2.1] extern startet via [2.2] oder [2.3], wird das Makro 
fehlerfrei ausgeführt.

[D] Seit wann dieses Problem genau auftritt kann ich leider nicht sagen, aber mit 
"LO 6.2.2.2 (x64)
@ Windows 7 Home Premium 64-bit" tritt es sicher auf.

[E] Du kannst die SourceCodes für Deinen BugReport benutzen. Wenn ich es in 
Englisch erklärte, wäre
es wohl mehr verwirrend als erklärend ...

[F] Es könnte schon sein, dass diese FolderPicker-Problematik auch ein Hinweis 
auf die
FilePicker-Problematik dieses Threads sein könnte, zumindest aber, dass die 
Picker-Software nicht
mehr sauber funktioniert, an was auch immer es liegen mag.

Gruß
Hans-Werner

SourceCodes:

[1.1] Sub TEST_FolderPicker (Makro)

Sub TEST_FolderPicker
Const FolderPicker = "com.sun.star.ui.dialogs.FolderPicker"
Dim DialogFolderPicker as Object
Dim FolderPickerService as String
Dim SelectedFolder as String
Dim PropertyValue(0) as New com.sun.star.beans.PropertyValue
DialogFolderPicker = CreateUnoService(FolderPicker)
DialogFolderPicker.execute()
SelectedFolder = DialogFolderPicker.getDirectory()
MsgBox("SelectedFolder = " & SelectedFolder)
PropertyValue(0).name = "Hidden"
PropertyValue(0).value = False
StarDesktop.loadComponentFromURL("private:factory/scalc","_blank",0,PropertyValue())
MsgBox ("new CALC opened")
End Sub

[1.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)

SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Test.TEST_FolderPicker()"
%L% --nologo %M%

[1.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

$L = "C:/Program Files/LibreOffice/program/soffice.exe";
$M = "macro:///Standard.Test.TEST_FolderPicker()";
`"$L" --nologo "$M"`;

[2.1] Sub TEST_FolderPickerOffice (Makro)

Sub TEST_FolderPickerOffice
Const FolderPicker = "com.sun.star.ui.dialogs.OfficeFolderPicker"
Dim DialogFolderPicker as Object
Dim FolderPickerService as String
Dim SelectedFolder as String
Dim PropertyValue(0) as New com.sun.star.beans.PropertyValue
DialogFolderPicker = CreateUnoService(FolderPicker)
DialogFolderPicker.execute()
SelectedFolder = DialogFolderPicker.getDirectory()
MsgBox("SelectedFolder = " & SelectedFolder)
PropertyValue(0).name = "Hidden"
PropertyValue(0).value = False
StarDesktop.loadComponentFromURL("private:factory/scalc","_blank",0,PropertyValue())
MsgBox ("new CALC opened")
End Sub

[2.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)

SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Test.TEST_FolderPickerOffice()"
%L% --nologo %M%

[2.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

$L = "C:/Program Files/LibreOffice/program/soffice.exe";
$M = "macro:///Standard.Test.TEST_FolderPickerOffice()";
`"$L" --nologo "$M"`;





--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-31 Diskussionsfäden OoOHWHOoO

Bezug: https://listarchives.libreoffice.org/de/users/msg21448.html

Da ist mir leider ein Kopierfehler unterlaufen :-0 ...

Falsch:

[2.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)
[2.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

Richtig:

[2.2] TEST_FolderPickerOffice.cmd (externer Makro-Aufruf via WinBatch)
[2.3] TEST_FolderPickerOffice.pl (externer Makro-Aufruf via Perl)

Gruß
Hans-Werner
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-31 Diskussionsfäden OoOHWHOoO

Bezug: https://listarchives.libreoffice.org/de/users/msg21444.html

Hallo Oliver,

ich habe mal bissel was zusammengestellt. Die Makros habe ich so klein 
wie nur möglich gehalten (SourceCodes siehe ganz unten):


[1] FolderPicker (Dateiauswahl via OperatingSystem)

[1.1] Sub TEST_FolderPicker (Makro)
[1.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)
[1.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

[2] FolderPickerOffice (Dateiauswahl via LibreOffice)

[2.1] Sub TEST_FolderPickerOffice (Makro)
[2.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)
[2.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

[A] Wenn man [1.1] und [2.1] in der BASIC-IDE (in einem geöffneten 
CALC-Dokument) startet, funktionieren beide Makros fehlerfrei.


[B] Wenn man [1.1] extern startet via [1.2] oder [1.3], bleibt das Makro 
vor dem ERSTEN MsgBox-Aufruf hängen. Öffnet man während des 
Hängenbleibens ein neues CALC-Dokument, wird das Makro weiter 
ausgeführt.


[C] Wenn man [2.1] extern startet via [2.2] oder [2.3], wird das Makro 
fehlerfrei ausgeführt.


[D] Seit wann dieses Problem genau auftritt kann ich leider nicht sagen, 
aber mit "LO 6.2.2.2 (x64) @ Windows 7 Home Premium 64-bit" tritt es 
sicher auf.


[E] Du kannst die SourceCodes für Deinen BugReport benutzen. Wenn ich es 
in Englisch erklärte, wäre es wohl mehr verwirrend als erklärend ...


[F] Es könnte schon sein, dass diese FolderPicker-Problematik auch ein 
Hinweis auf die FilePicker-Problematik dieses Threads sein könnte, 
zumindest aber, dass die Picker-Software nicht mehr sauber funktioniert, 
an was auch immer es liegen mag.


Gruß
Hans-Werner

SourceCodes:

[1.1] Sub TEST_FolderPicker (Makro)

Sub TEST_FolderPicker
Const FolderPicker = "com.sun.star.ui.dialogs.FolderPicker"
Dim DialogFolderPicker as Object
Dim FolderPickerService as String
Dim SelectedFolder as String
Dim PropertyValue(0) as New com.sun.star.beans.PropertyValue
DialogFolderPicker = CreateUnoService(FolderPicker)
DialogFolderPicker.execute()
SelectedFolder = DialogFolderPicker.getDirectory()
MsgBox("SelectedFolder = " & SelectedFolder)
PropertyValue(0).name = "Hidden"
PropertyValue(0).value = False
StarDesktop.loadComponentFromURL("private:factory/scalc","_blank",0,PropertyValue())
MsgBox ("new CALC opened")
End Sub

[1.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)

SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Test.TEST_FolderPicker()"
%L% --nologo %M%

[1.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

$L = "C:/Program Files/LibreOffice/program/soffice.exe";
$M = "macro:///Standard.Test.TEST_FolderPicker()";
`"$L" --nologo "$M"`;

[2.1] Sub TEST_FolderPickerOffice (Makro)

Sub TEST_FolderPickerOffice
Const FolderPicker = "com.sun.star.ui.dialogs.OfficeFolderPicker"
Dim DialogFolderPicker as Object
Dim FolderPickerService as String
Dim SelectedFolder as String
Dim PropertyValue(0) as New com.sun.star.beans.PropertyValue
DialogFolderPicker = CreateUnoService(FolderPicker)
DialogFolderPicker.execute()
SelectedFolder = DialogFolderPicker.getDirectory()
MsgBox("SelectedFolder = " & SelectedFolder)
PropertyValue(0).name = "Hidden"
PropertyValue(0).value = False
StarDesktop.loadComponentFromURL("private:factory/scalc","_blank",0,PropertyValue())
MsgBox ("new CALC opened")
End Sub

[2.2] TEST_FolderPicker.cmd (externer Makro-Aufruf via WinBatch)

SET L="C:/Program Files/LibreOffice/program/soffice.exe"
SET M="macro:///Standard.Test.TEST_FolderPickerOffice()"
%L% --nologo %M%

[2.3] TEST_FolderPicker.pl (externer Makro-Aufruf via Perl)

$L = "C:/Program Files/LibreOffice/program/soffice.exe";
$M = "macro:///Standard.Test.TEST_FolderPickerOffice()";
`"$L" --nologo "$M"`;


--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-31 Diskussionsfäden OoOHWHOoO

Hallo Robert,

ich habe es eben nochmals (schnell) getestet (LO 6.2.2.2 (x64) @ Windows 
7 Home Premium 64-bit)


[1] com.sun.star.ui.dialogs.FolderPicker

MAKRO bleibt hängen vor/am folgenden MsgBox-Aufruf.

ABER: Wenn ich während dieses Hängenbleibens eine neue CALC-Datei öffne, 
läuft das MAKRO fehlerfrei weiter.


[2] com.sun.star.ui.dialogs.OfficeFolderPicker => MAKRO läuft 
fehlerfrei.


Gruß
Hans-Werner


-- Originalnachricht --
Von: "Robert Großkopf" 
An: users@de.libreoffice.org
Gesendet: 31.03.2019 15:00:05
Betreff: Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice 
nach Makrodurchlauf



Hallo *,


 Ich selbst habe bei einem MAKRO im Kontext mit dem Öffnen einer
 CALC-Datei das Problem, wenn ich den  "Folder Picker Betriebs System"
 auswähle, dass das MAKRO einfriert, nicht aber, wenn ich den "Folder
 Picker Open Office" auswähle. Nicht aber bei früheren LO-Versionen.
 Vielleicht besteht ja ein Zusammenhang zu obigem Problem, dass die
 BASIC-MAKRO-Picker nicht mehr 100%ig funktionieren, ist aber nur eine
 vage Vermutung:

 ' Folder Picker Betriebs System:
 Const FPBS = "com.sun.star.ui.dialogs.FolderPicker"
 ' Folder Picker Open Office:
 Const FPOO = "com.sun.star.ui.dialogs.OfficeFolderPicker"


Ist nicht seit den Versionen LO 6.0 der interne Dialog ganz
verschwunden? Oder hat das nichts mit der GUI zu tun. Wählbar ist da
jedenfalls nicht mehr in der grafischen benutzeroberfläche. Es wird
immer der Dialog des Betriebssystems genommen.

Gruß

Robert
--
Homepage: http://robert.familiegrosskopf.de
LibreOffice Community: http://robert.familiegrosskopf.de/map_3


--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-31 Diskussionsfäden Oliver Brinzing

Hallo Robert,


' Folder Picker Betriebs System:
Const FPBS = "com.sun.star.ui.dialogs.FolderPicker"
' Folder Picker Open Office:
Const FPOO = "com.sun.star.ui.dialogs.OfficeFolderPicker"


Ist nicht seit den Versionen LO 6.0 der interne Dialog ganz
verschwunden? Oder hat das nichts mit der GUI zu tun. Wählbar ist da
jedenfalls nicht mehr in der grafischen benutzeroberfläche. Es wird
immer der Dialog des Betriebssystems genommen.


Du kannst ihn über die API direkt instanzieren, bzw. in in den 
Experteneinstellungen auch generell
freischalten:

Menü Extras/Optionen.../LibreOffice/Erweitert
-> [Experteneinstellungen]

Suche nach: UseSystemFileDialog

Gruß
Oliver



--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-31 Diskussionsfäden Robert Großkopf
Hallo *,

> Ich selbst habe bei einem MAKRO im Kontext mit dem Öffnen einer
> CALC-Datei das Problem, wenn ich den  "Folder Picker Betriebs System"
> auswähle, dass das MAKRO einfriert, nicht aber, wenn ich den "Folder
> Picker Open Office" auswähle. Nicht aber bei früheren LO-Versionen.
> Vielleicht besteht ja ein Zusammenhang zu obigem Problem, dass die
> BASIC-MAKRO-Picker nicht mehr 100%ig funktionieren, ist aber nur eine
> vage Vermutung:
> 
> ' Folder Picker Betriebs System:
> Const FPBS = "com.sun.star.ui.dialogs.FolderPicker"
> ' Folder Picker Open Office:
> Const FPOO = "com.sun.star.ui.dialogs.OfficeFolderPicker"

Ist nicht seit den Versionen LO 6.0 der interne Dialog ganz
verschwunden? Oder hat das nichts mit der GUI zu tun. Wählbar ist da
jedenfalls nicht mehr in der grafischen benutzeroberfläche. Es wird
immer der Dialog des Betriebssystems genommen.

Gruß

Robert
-- 
Homepage: http://robert.familiegrosskopf.de
LibreOffice Community: http://robert.familiegrosskopf.de/map_3


-- 
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-31 Diskussionsfäden Oliver Brinzing

Hallo,

> ANMERKUNG:
> Ich selbst habe bei einem MAKRO im Kontext mit dem Öffnen einer CALC-Datei 
das Problem, wenn ich
> den  "Folder Picker Betriebs System" auswähle, dass das MAKRO einfriert, 
nicht aber, wenn ich den
> "Folder Picker Open Office" auswähle. Nicht aber bei früheren LO-Versionen. 
Vielleicht besteht ja
> ein Zusammenhang zu obigem Problem, dass die BASIC-MAKRO-Picker nicht mehr 
100%ig funktionieren, ist
> aber nur eine vage Vermutung:
> ' Folder Picker Betriebs System:
> Const FPBS = "com.sun.star.ui.dialogs.FolderPicker"
> ' Folder Picker Open Office:
> Const FPOO = "com.sun.star.ui.dialogs.OfficeFolderPicker"

Das Problem habe ich auch, es tritt seit Version 6.1 auf, vgl.:
Bug 123502 - crash: use of "com.sun.star.ui.dialogs.FolderPicker" service from 
java seems to cause
crashes since LO 6.1
https://bugs.documentfoundation.org/show_bug.cgi?id=123502

Irgendetwas stimmt mit dem System-Folder Picker nicht mehr..

Wenn Du ein ein einfaches Basic Makro Demo hast, füge es bitte dem issue bei.

Gruß
Oliver


Am 31.03.2019 um 12:15 schrieb OoOHWHOoO:

Hallo,

ich habe diesbezüglich auch mal ein wenig getestet:

[1] Mit "Hidden" und "False" friert LO bei "MsgBox ("FileOperation: NACH
StarDesktop.loadComponentFromURL")" ein (s.u.).
[2] Mit "Hidden" und "True" friert LO bei "MsgBox ("NACH FileOperation")" ein 
(s.u.).

In beiden Fällen hat "soffice.bin" eine CPU-Auslastung von zirka 25%.

Bei diesen Zeilen ( > ) habe ich das Makro modifiziert (s.u.).

Testumgebung:  LO 6.2.2.2 (x64) @ Windows 7 Home Premium 64-bit.

Eine Erklärung für das oben geschilderte Verhalten habe ich leider nicht.

ANMERKUNG:

Ich selbst habe bei einem MAKRO im Kontext mit dem Öffnen einer CALC-Datei das 
Problem, wenn ich
den  "Folder Picker Betriebs System" auswähle, dass das MAKRO einfriert, nicht 
aber, wenn ich den
"Folder Picker Open Office" auswähle. Nicht aber bei früheren LO-Versionen. 
Vielleicht besteht ja
ein Zusammenhang zu obigem Problem, dass die BASIC-MAKRO-Picker nicht mehr 
100%ig funktionieren, ist
aber nur eine vage Vermutung:

' Folder Picker Betriebs System:
Const FPBS = "com.sun.star.ui.dialogs.FolderPicker"
' Folder Picker Open Office:
Const FPOO = "com.sun.star.ui.dialogs.OfficeFolderPicker"


Grüße
Hans-Werner :-))


[3] Makro-Modifikationen

Option Explicit

 >   Private oDlgM as Object ' das Modell des Dialogs
 >   Private oDlg as Object ' Dialogfenster
 >   Private oMod as Object ' nimmt jeweils das Modell der Objekte 
auf    (Textfeld)
 >   Private oMod1 as Object ' nimmt jeweils das Modell der Objekte 
auf    (Button)
 >   Private oMod2 as Object ' nimmt jeweils das Modell der Objekte 
auf    (Button)
 >   Private oMod3 as Object ' nimmt jeweils das Modell der Objekte 
auf    (Button)
 >   Private oWin as Object

 >   Private oListener1 as Object
 >   Private oListener2 as Object
 >   Private oListener3 as Object
 >   Private oControl1 as Object
 >   Private oControl2 as Object
 >   Private oControl3 as Object

REM Deklaration der Variablen

 >   Private oDocW as Object    ' Writer-Dokument
 >   Private oDocC as Object    ' Calc-Dokument (wird versteckt 
geöffnet)

:
:

Sub Dateidialog
On Error GoTo ErrorHandler

     MsgBox "Der nachfolgende Dateidialog fordert sie zum Öffnen dieser Datei auf:" 
& chr(10) & _
     ">>> Kopfzeilen_Texte.ods <<<" & chr(10) & _
     "Wählen Sie zunächst den korrekten Pfad zu dieser Datei aus." 
,64,"Hinweis"
     ' Filepicker (Datei-Dialog)
     sUrl = FileOpenDialog ("Bitte wählen Sie eine Calc-Datei aus!")
     if sURL = "" then
     Msgbox "Sie haben den Dateidialog abgebrochen!" & chr(10) & _
     "Starten Sie das Programm erneut und wählen eine Calc-Datei 
aus!", 48, "Fehler:
Anwender hat Dateiauswahl abgebrochen!"

     exit sub
     end if
     sExt=getFileNameExtension(sURL)
     ' Fehlermeldung für den Fall, dass kein Calc-Dokument ausgewählt 
wurde
     if sExt <> "ods" then
     MsgBox("Bitte wählen Sie ein Calc-Dokument aus!" & chr(10) & _
     "Das Programm wird beendet!"  & chr(10)   & chr(10) 
& _
     "Starten Sie das Programm erneut.", 48, "Fehler: 
Dateiauswahl")

     exit sub
     end if
REM Calc-Datei im Hintergrund öffnen

 >   MsgBox ("VOR FileOperation")

FileOperation

 >   MsgBox ("NACH FileOperation")

' MsgBox "Error " & Err & ": " & Error$ & " (line : " & Erl & ")"
'oCC.getFrame().getContainerWindow().setVisible(True)

Exit Sub

REM ErrorHandler für den Fall, dass im Dateidialog auf "ABRUCH" geklickt wurde
ErrorHandler:
'MsgBox "Error " & Err & ": " & Error$ & " (line : " & Erl & ")"
Msgbox "Sie haben den Dateidialog abgebrochen!" & chr(10) & _
     "Starten Sie das Programm erneut und 

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-31 Diskussionsfäden OoOHWHOoO

Hallo,

ich habe diesbezüglich auch mal ein wenig getestet:

[1] Mit "Hidden" und "False" friert LO bei "MsgBox ("FileOperation: NACH 
StarDesktop.loadComponentFromURL")" ein (s.u.).
[2] Mit "Hidden" und "True" friert LO bei "MsgBox ("NACH 
FileOperation")" ein (s.u.).


In beiden Fällen hat "soffice.bin" eine CPU-Auslastung von zirka 25%.

Bei diesen Zeilen ( > ) habe ich das Makro modifiziert (s.u.).

Testumgebung:  LO 6.2.2.2 (x64) @ Windows 7 Home Premium 64-bit.

Eine Erklärung für das oben geschilderte Verhalten habe ich leider 
nicht.


ANMERKUNG:

Ich selbst habe bei einem MAKRO im Kontext mit dem Öffnen einer 
CALC-Datei das Problem, wenn ich den  "Folder Picker Betriebs System" 
auswähle, dass das MAKRO einfriert, nicht aber, wenn ich den "Folder 
Picker Open Office" auswähle. Nicht aber bei früheren LO-Versionen. 
Vielleicht besteht ja ein Zusammenhang zu obigem Problem, dass die 
BASIC-MAKRO-Picker nicht mehr 100%ig funktionieren, ist aber nur eine 
vage Vermutung:


' Folder Picker Betriebs System:
Const FPBS = "com.sun.star.ui.dialogs.FolderPicker"
' Folder Picker Open Office:
Const FPOO = "com.sun.star.ui.dialogs.OfficeFolderPicker"


Grüße
Hans-Werner :-))


[3] Makro-Modifikationen

Option Explicit

>   Private oDlgM as Object ' das Modell des Dialogs
>   Private oDlg as Object ' Dialogfenster
>   Private oMod as Object ' nimmt jeweils das Modell der 
Objekte auf(Textfeld)
>   Private oMod1 as Object ' nimmt jeweils das Modell der 
Objekte auf(Button)
>   Private oMod2 as Object ' nimmt jeweils das Modell der 
Objekte auf(Button)
>   Private oMod3 as Object ' nimmt jeweils das Modell der 
Objekte auf(Button)

>   Private oWin as Object

>   Private oListener1 as Object
>   Private oListener2 as Object
>   Private oListener3 as Object
>   Private oControl1 as Object
>   Private oControl2 as Object
>   Private oControl3 as Object

REM Deklaration der Variablen

>   Private oDocW as Object' Writer-Dokument
>   Private oDocC as Object' Calc-Dokument (wird 
versteckt geöffnet)


:
:

Sub Dateidialog
On Error GoTo ErrorHandler

MsgBox "Der nachfolgende Dateidialog fordert sie zum Öffnen 
dieser Datei auf:" & chr(10) & _

">>> Kopfzeilen_Texte.ods <<<" & chr(10) & _
"Wählen Sie zunächst den korrekten Pfad zu dieser 
Datei aus." ,64,"Hinweis"

' Filepicker (Datei-Dialog)
sUrl = FileOpenDialog ("Bitte wählen Sie eine Calc-Datei aus!")
if sURL = "" then
Msgbox "Sie haben den Dateidialog abgebrochen!" & 
chr(10) & _
"Starten Sie das Programm erneut und wählen eine 
Calc-Datei aus!", 48, "Fehler: Anwender hat Dateiauswahl abgebrochen!"


exit sub
end if
sExt=getFileNameExtension(sURL)
' Fehlermeldung für den Fall, dass kein Calc-Dokument 
ausgewählt wurde

if sExt <> "ods" then
MsgBox("Bitte wählen Sie ein Calc-Dokument aus!" & 
chr(10) & _
"Das Programm wird beendet!"  & chr(10)   & 
chr(10) & _
"Starten Sie das Programm erneut.", 48, 
"Fehler: Dateiauswahl")


exit sub
end if
REM Calc-Datei im Hintergrund öffnen

>   MsgBox ("VOR FileOperation")

FileOperation

>   MsgBox ("NACH FileOperation")

' MsgBox "Error " & Err & ": " & Error$ & " (line : " & Erl & ")"
'oCC.getFrame().getContainerWindow().setVisible(True)

Exit Sub

REM ErrorHandler für den Fall, dass im Dateidialog auf "ABRUCH" geklickt 
wurde

ErrorHandler:
'MsgBox "Error " & Err & ": " & Error$ & " (line : " & Erl & ")"
Msgbox "Sie haben den Dateidialog abgebrochen!" & chr(10) & _
"Starten Sie das Programm erneut und wählen eine Calc-Datei 
aus!", 48, "Fehler: Anwender hat Dateiauswahl abgebrochen!"

End Sub

REM 


REM Calc-Datei im Hintergrund öffnen
REM Dateioperation: Datei öffnen und auslesen
Sub FileOperation
'oCC.getFrame().getContainerWindow().setVisible(False)
' Eigenschaften
>   Dim myFileProperties(0) As New com.sun.star.beans.PropertyValue

' Dokument im Hintergrund öffnen
>myFileProperties(0).Name = "Hidden"
>myFileProperties(0).Value = False

REM 
---

' Datei im Hintergrund öffnen

>   MsgBox ("FileOperation: VOR StarDesktop.loadComponentFromURL")

>   sURL = ConvertToURL(sURL)

>   oDocC = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, 
myFileProperties())


>   MsgBox ("FileOperation: NACH StarDesktop.loadComponentFromURL")

'mri oDocC
' Daten aus Tabelle einlesen und in die Arrays verteilen
' 

Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-31 Diskussionsfäden Thomas Krumbein

Hallo Jürgen,


Am 30.03.2019 um 19:33 schrieb Jürgen Klatt:

Hallo Thomas,

habe nun meinen Code entsprechend Deines Ratschlags und diverser anderer
Ungereimtheiten überarbeitet.


Schon mal gut :)

Könntest aber noch ein paar andere "Kleinigkeiten" bereinigen:

Keine Variable als "global" definieren "Global"-Variable werden im 
Arbeitsspeicher aktiv gehalten, auch wen Dein (Makro-) Programm bereits 
beendet ist. Jedes andere Programm oder Modul kann darauf zugreifen und 
diese auslesen oder verändern. Ist eine Sicherheitslücke und ganz 
schlechter Programmierstiel (es sei denn, es ist tatsächlich notwendig). 
Du brauchst keine Global-Variablen! In Deinem Fall würde DIM immer 
ausreichen, falls Du mehrere Module betreibst und kein Windows benutzt, 
wäre "Privat" die korrekte Definition.


Die "Call" Aufrufe kannst Du Dir ersparen. Ist in VBA nötig, nicht aber 
in LO/AOO Basic. Hier reicht es völlig, den Funktionsnamen zu verwenden. 
"CAll" errinnert zu sehr an VBA und ist nur der Kompatibilität mit im 
Funktionsumfang.


Zu den Variablen-Namen hat Gerhard schon was gesagt. Es gibt einfach 
Namen, die werden auch vom Programm intern verwendet - wenn Du diese 
dann noch als "globale" Variablen festlegst, ist Chaos vorprogrammiert. 
Leider gibt es keine Liste interner Variablen-Namen. Hier ist einfach 
etwas Phantasie gefragt: je eindeutiger eigene Namen sind um so 
unverdächtiger. HIer gilt es: experimentieren.


Wenn das Programm bei der msgbox abschmiert (wie Du selbst scheibst und 
wahrscheinlich nach vielen Versuchen identifiziert hast?) würde ich mal 
mit einer Pause vor der msgbox arbeiten. Manchmal "überholen" sich 
interne Prozesse - sie sind dann einfach zu schnell. Ergebnis: Absturz. 
Oft hilft dann einfach eine wait() Funktion vor dem Absturzprozess - bei 
Dir also vor der Msgbox. Starte mit "Wait(500)" - und reduziere den 
später auf den kleinst möglichen Wert. Ein Wait(100) ist meist kaum zu 
spüren vom Anwender.


Einen "echten" Fehler konnte ich jetzt nicht entdecken im Code - hab 
aber auch nicht intensiv gesucht;)



Viele Grüße

Thomas



--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-30 Diskussionsfäden Gerhard Weydt

Hallo Jürgen,

bevor ich dir eine wahrscheinliche Erklärung liefere, möchte ich eine 
leise Kritik loswerden: so ein kompliziertes Programm zu liefern mit der 
Aussage, dass jetzt eine Msgbox nicht funktioniert, ist ein bisschen 
wenig. Als erstes solltest du versuchen, das Problem einzugrenzen, das 
Programm zu reduzieren auf möglichst einfache und kurze Codes, damit es 
für jemand anderen leichter nachvollziehbar ist. Das erhöht auch die 
Chance, dass jemand dran bleibt und den Grund findet und nicht die Lust 
verliert.
Ich denke, in meinem Fall bin ich glücklicherweise schnell auf etwas 
gestoßen: Ich habe mir - ein Reduktionsfaktor - nur die Routine 
btnStart.. angeschaut. Bei xSeite mit der anschließenden Msgbox habe ich 
nichts Auffälliges gesehen, daher habe ich die davor liegende Routine 
DateiDialog ins Visier genommen, da war auch nichts offensichtlich 
Verdächtiges, also weiter zu FileOperation. Da habe ich Xray oDocC 
eingefügt; du hast ja mri drin, aber das scheint ja irgendwie 
eingefroren zu sein, hanya hat erklärt, dass er das nicht mehr weiter 
betreibt; aber Xray würde ja im Grunde das gleiche liefern.
Nun blieb aber auch Xray hängen; übrigens ist dann wie auch beim 
ursprünglichen Fall LibO aktiv, der TaskManager zeigt 27 - 30 % an.
So war das nun schon ziemlich eingeschränkt, das Öffnen des 
Calc-Dokuments, das in dieser Routine geschieht, ist wohl irgendwie 
problematisch. Vorher war mir schon aufgefallen, dass die 
Dimensionierung von FileProperties mit 1 falsch war, weil du nur ...(0) 
zuweist, aber das hatte keinen Einfluss. Das solltest du zwar ändern, 
aber das ist eher Kosmetik (technisch gesehen), aber sinnvoll (für das 
Verständnis).
Aber der Grund für das Problem scheint zu sein, dass der Name 
FileProperties natürlich verdächtig ist. Wenn ich den bei allen 
Vorkommen in dieser Routine ändere, durch einen vorangestellten 
Buchstaben z. B., dann friert LibO bei mir nicht mehr ein, das Programm 
läuft durch.
Man kann wohl daraus schließen, dass jetzt irgendwo eine Abfrage auf den 
String "FileProperties" erfolgt, der ja auch irgendwie nach 
systemimmanent riecht, die irgend etwas bewirkt, das in unserem Kontext 
schädlich ist. Die Wahl "FileProperties" ist ja nicht wirklich falsch, 
obwohl es strenggenommen keine Eigenschaften der Datei selbst sind, die 
du in diesem Fall angibst, sondern speziell für das Öffnen in diesem 
konkreten Fall verwendete Parameter. Aber du solltest hier eine andere 
Variablenbenennung verwenden, weil offensichtlich "FileProperties" schon 
belegt ist.

Ich hoffe, dass damit dein Problem auch in der Originaldatei gelöst ist.

Gruß

Gerhard
Am 30.03.2019 um 19:33 schrieb Jürgen Klatt:

Hallo Thomas,

habe nun meinen Code entsprechend Deines Ratschlags und diverser anderer
Ungereimtheiten überarbeitet.

Musterdateien_02.zip
steht hier zum Download bereit:
https://c.web.de/@693152299987503749/RJCw-SFyQFK1cq8oL0FtFA

Das Programm läuft jetzt unter diesen OfficeVersionen:
a)  LO 6.1.4.2 Portable
b)  LO 6.2.1.2
c)  LO 6.3.0.0.alpha0+ (x64)
d) AOO 4.1.6 --> rasend schnell

ABER:
Sobald ich im Code unter LibreOffice (egal welche Version) die
abschließende Messagebox aktiviere, friert LO ein.
Unter OpenOffice funktioniert die Ausführung auch mit der letzten
Messagebox. Zu dem mit rasantem Tempo.

Die Passagen an denen ich die MsgBox platziert habe und wo diese zum
Einfrieren führen, habe ich wie folgt gekennzeichnet:
REM ???
...

Ich bitte Dich den Code nochmals zu analysieren und mir einen Tipp zu 
geben.


Vielen Dank und Grüße

Jürgen

Am 28.03.2019 um 21:45 schrieb Jürgen Klatt:

Hallo Thomas,

sorry, so passiert es wenn man nicht alles überprüft.
Der vorherige Link funktioniert jetzt, bzw. in der ZIP sind beide
Dateien enthalten.

Viele Grüße

Jürgen

Am 28.03.2019 um 20:58 schrieb Thomas Krumbein:

Hallo Jürgen,

Am 28.03.2019 um 20:14 schrieb Jürgen Klatt:

...
ich habe hier in einer ZIP-Datei (Musterdatei.zip) zwei Dateien
hochgeladen.
https://c.web.de/@693152299987503749/c_8KMmxvSECrDWBwx8_83Q


in der heruntergeladenen zip-Datei ist bei mir lediglich einen
Calc-Datei drin - und die besitzt keine Makros.

Kann also wenig zu sagen

Viele Grüße

Thomas









--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-30 Diskussionsfäden Jürgen Klatt

Hallo Thomas,

habe nun meinen Code entsprechend Deines Ratschlags und diverser anderer
Ungereimtheiten überarbeitet.

Musterdateien_02.zip
steht hier zum Download bereit:
https://c.web.de/@693152299987503749/RJCw-SFyQFK1cq8oL0FtFA

Das Programm läuft jetzt unter diesen OfficeVersionen:
a)  LO 6.1.4.2 Portable
b)  LO 6.2.1.2
c)  LO 6.3.0.0.alpha0+ (x64)
d) AOO 4.1.6 --> rasend schnell

ABER:
Sobald ich im Code unter LibreOffice (egal welche Version) die
abschließende Messagebox aktiviere, friert LO ein.
Unter OpenOffice funktioniert die Ausführung auch mit der letzten
Messagebox. Zu dem mit rasantem Tempo.

Die Passagen an denen ich die MsgBox platziert habe und wo diese zum
Einfrieren führen, habe ich wie folgt gekennzeichnet:
REM ???
...

Ich bitte Dich den Code nochmals zu analysieren und mir einen Tipp zu geben.

Vielen Dank und Grüße

Jürgen

Am 28.03.2019 um 21:45 schrieb Jürgen Klatt:

Hallo Thomas,

sorry, so passiert es wenn man nicht alles überprüft.
Der vorherige Link funktioniert jetzt, bzw. in der ZIP sind beide
Dateien enthalten.

Viele Grüße

Jürgen

Am 28.03.2019 um 20:58 schrieb Thomas Krumbein:

Hallo Jürgen,

Am 28.03.2019 um 20:14 schrieb Jürgen Klatt:

...
ich habe hier in einer ZIP-Datei (Musterdatei.zip) zwei Dateien
hochgeladen.
https://c.web.de/@693152299987503749/c_8KMmxvSECrDWBwx8_83Q


in der heruntergeladenen zip-Datei ist bei mir lediglich einen
Calc-Datei drin - und die besitzt keine Makros.

Kann also wenig zu sagen

Viele Grüße

Thomas






--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-28 Diskussionsfäden Jürgen Klatt

Hallo Thomas,

sorry, so passiert es wenn man nicht alles überprüft.
Der vorherige Link funktioniert jetzt, bzw. in der ZIP sind beide
Dateien enthalten.

Viele Grüße

Jürgen

Am 28.03.2019 um 20:58 schrieb Thomas Krumbein:

Hallo Jürgen,

Am 28.03.2019 um 20:14 schrieb Jürgen Klatt:

...
ich habe hier in einer ZIP-Datei (Musterdatei.zip) zwei Dateien
hochgeladen.
https://c.web.de/@693152299987503749/c_8KMmxvSECrDWBwx8_83Q


in der heruntergeladenen zip-Datei ist bei mir lediglich einen
Calc-Datei drin - und die besitzt keine Makros.

Kann also wenig zu sagen

Viele Grüße

Thomas




--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Versionsabhängiges Einfrieren von LibreOffice nach Makrodurchlauf

2019-03-28 Diskussionsfäden Thomas Krumbein

Hallo Jürgen,

Am 28.03.2019 um 20:14 schrieb Jürgen Klatt:

...
ich habe hier in einer ZIP-Datei (Musterdatei.zip) zwei Dateien 
hochgeladen.

https://c.web.de/@693152299987503749/c_8KMmxvSECrDWBwx8_83Q

in der heruntergeladenen zip-Datei ist bei mir lediglich einen 
Calc-Datei drin - und die besitzt keine Makros.


Kann also wenig zu sagen

Viele Grüße

Thomas


--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy