LO-Crash beim Schließen einer Datei
Verfasst: Do 10. Dez 2015, 16:36
Hallo zusammen,
ich habe eine Anwendung(Extension) entwickelt, die Versicherungsangebote erstellt.
In der Extension gibt es u.a. zwei files:
FPP_ZD.ods und
FPP_BE.ods
FPP_ZD.ods (oDocFPP) ist die eigentliche Anwendung, in der über Dialoge Benutzereingaben erfolgen und Angebote erstellt werden.
In FPP_BE.ods (oDocFPP_BE) werden diese Benutzereingaben gespeichert.
Die Anwendung läuft nun seit einigen Jahren problemlos (zuletzt unter Ubuntu 12.04 und LO 4.1.5.3).
Wir haben jetzt auf Ubuntu 14.04 und LO 4.3.5.2 gewechselt.
Nun ergibt sich folgendes Problem:
Wenn ich in der Anwendung auf den Speicher-Button drücke, und den darauf folgenden Speichern-Dialog bestätige stürzt LO ab (in mehr als 50% der Fälle)
Grob passiert in der folgenden Prozedur dies:
Die Benutzerdatendatei (FPP_BE.ods) wird 'hidden' geöffnet, die Daten aus der Anwendung werden in FPP_BE.ods übertragen, die Datei wird gespeichert und dann geschlossen.
Beim .Close(True) crasht LO regelmäßig!!!
Die Prozedur aus der Extension:
Hat da jemand ne Idee???
LO meldet keinen Fehler, sondern stürzt direkt ab. Aber die JRE hat ein errorlog erzeugt. Die Datei kann ich aber nicht anhängen.
Hier der Anfang ...
Gruß Thomas
ich habe eine Anwendung(Extension) entwickelt, die Versicherungsangebote erstellt.
In der Extension gibt es u.a. zwei files:
FPP_ZD.ods und
FPP_BE.ods
FPP_ZD.ods (oDocFPP) ist die eigentliche Anwendung, in der über Dialoge Benutzereingaben erfolgen und Angebote erstellt werden.
In FPP_BE.ods (oDocFPP_BE) werden diese Benutzereingaben gespeichert.
Die Anwendung läuft nun seit einigen Jahren problemlos (zuletzt unter Ubuntu 12.04 und LO 4.1.5.3).
Wir haben jetzt auf Ubuntu 14.04 und LO 4.3.5.2 gewechselt.
Nun ergibt sich folgendes Problem:
Wenn ich in der Anwendung auf den Speicher-Button drücke, und den darauf folgenden Speichern-Dialog bestätige stürzt LO ab (in mehr als 50% der Fälle)
Grob passiert in der folgenden Prozedur dies:
Die Benutzerdatendatei (FPP_BE.ods) wird 'hidden' geöffnet, die Daten aus der Anwendung werden in FPP_BE.ods übertragen, die Datei wird gespeichert und dann geschlossen.
Beim .Close(True) crasht LO regelmäßig!!!
Die Prozedur aus der Extension:
Code: Alles auswählen
'*********************************************************************************************************
'* Beim Speichern der Anwendung werden die Daten in die BE_Datei übernommen. *
'* Die Prozedur wird über den Speichern-Button auf der Startseite der Anwendung aufgerufen. *
'*********************************************************************************************************
Sub SpeichernUnter_FPP(oDocFPP As Object)
Dim speicherDialog as Object
Dim dateiname As String
Dim DialogTyp(0)
Dim arg()
Dim antwort
Dim datei
Dim args1(0) as new com.sun.star.beans.PropertyValue
Dim oDocFPP_BE As Object
Dim i As Integer
nurSpeichern_KZ_FPP = True
args1(0).Name = "FilterName"
args1(0).Value = "calc8"
arg = Array(com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE)
speicherDialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
With speicherDialog
.Initialize(arg())
.appendFilter("OpenDocument Tabellendokument (.ods)", "*.ods")
.SetMultiselectionMode(False)
.setDisplayDirectory(ConvertToURL(Environ("HOME")) & "/Kraftfahrt-OO") ' neu UBUNTU
.SetTitle("Speichern Unter")
.setcurrentFilter("OpenDocument Tabellendokument (.ods)")
.SetValue(com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_AUTOEXTENSION, 0, true)
.SetDefaultName(glDateiname_FPP)
End With
antwort = speicherDialog.execute()
If antwort = 1 Then
datei = speicherDialog.Files(0) 'steht darin der nur der Name
glDateiname_FPP = Mid(FilenameoutofPath(ConvertFromUrl(datei),sSeparator), 1, Len(FilenameoutofPath(ConvertFromUrl(datei),sSeparator)) - 4)
oDocFPP_BE = OpenFileInPathHidden("Template", "FPP_BE.ods")
' Datentransfer
Call Anwendungsdaten_nach_BE_FPP(oDocFPP, oDocFPP_BE)
With oDocFPP_BE
.LockControllers
.unProtect("xxx")
For i = 0 To .Sheets.getCount() - 1
If .Sheets.getByIndex(i).Name <> "Dummy" Then
.Sheets.getByIndex(i).IsVisible = False
End If
Next
.Protect("xxx")
.UnlockControllers
.storeToUrl(datei, args1()) ' Speichern
.Close(True) ' hier crasht LO!!!!!!
End With
End If
nurSpeichern_KZ_FPP = False
oDocFPP.Title = glDateiname_FPP
oDocFPP.Modified = False
End Sub
Hat da jemand ne Idee???
LO meldet keinen Fehler, sondern stürzt direkt ab. Aber die JRE hat ein errorlog erzeugt. Die Datei kann ich aber nicht anhängen.
Hier der Anfang ...
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fbac54a3ec4, pid=10376, tid=140440868099968
#
# JRE version: Java(TM) SE Runtime Environment (8.0_60-b27) (build 1.8.0_60-b27)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libsvxcorelo.so+0x418ec4] SdrObjList::GetObj(unsigned long) const+0x14
...
Gruß Thomas