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 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
             ' mArray1() = Daten für die linke Seite (gerade Seitenzahl)
mArray1()=oDocC.Sheets().getByName("KopfZeilenTexte").getCellRangeByName("A1:B10").getDataArray()

             ' mArray2() = Daten für die rechte Seite (ugerade Seitenzahl)
mArray2()=oDocC.Sheets().getByName("KopfZeilenTexte").getCellRangeByName("A11:B20").getDataArray()

REM
-------------------------------------------------------------------------------------------------------
     ' Calc-Datei korrekt schließen
     CALL CloseDocC
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

Antwort per Email an