Hallo zusammen,
ich habe mir vor kurzem Libre Office 3.5.6.2 parallel zu OOo 3.3.0/AOo 3.4 installiert.
Nun habe ich ein seltsames Phänomen:
Wenn ich mit OOo eine Calc Datei versteckt (hidden) lade, bearbeite, als .pdf exportiere und dann das Dokument mit .close(true) wieder schliesse, läuft alles problemlos.
Nehme ich dasselbe Dokument in Libre Office, stürzt LO genau beim Befehl .close(true) komplett ab.
Ich verwende Windows 7 32-Bit.
Kann das jemand nachvollziehen, oder hat jemand eine Idee wie der Absturz verhindert werden kann?
Anbei mein Beispieldokument, das unter OOo 3.3.0 und auch AOo 3.4 problemlos funktioniert.
Beste Grüße von Rik
[gelöst] Absturz LO, Schliessen eines versteckt geladenen...
Moderator: Moderatoren
[gelöst] Absturz LO, Schliessen eines versteckt geladenen...
- Dateianhänge
-
- Test_load_hidden_template_and_close.odt
- (11.22 KiB) 78-mal heruntergeladen
Zuletzt geändert von F3K Total am Mo, 17.09.2012 17:25, insgesamt 2-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Absturzt LO, Schliessen eines versteckt geladenen Calc-D
Hallo Rik,
Bei "sichtbar öffnen und schließen" gibt es keine Probleme. Jedoch bei "unsichtbar öffnen und schließen" ist Schluss mit Lustig, also Absturz.
.
Folgende Änderungen hatte ich vorgenommen, und trotzdem Absturz.
1.
Hatte ich Öffentlich gemacht. Also ganz am Anfang des Moduls oberhalb von Sub Load_Template (event)
2.
Eine kleine aber wohl wichtige Änderung.
Bei
das Klammerpaar() gesetzt. In sub Export_pdf (oframe) hattest Du das Klammerpaar aber gesetzt.
3.
Eine kleine Überprüfung ob auch der auslösende Button den richtigen Wert ausgibt.
Ergebniss: Ja, es funktioniert.
4.
Mit Functions kenne ich mich noch nicht so richtig aus, aber müsste das nicht richtigrum so heißen?
sFilename hatte ich um 'as String' ergänzt.
Und gleich noch zwei Fragen dazu.
sFilename finde ich nur dort an besagter Stelle, und sonst nirgendwo anders. Ist das richtig so? Was bezweckst Du damit?
Eine Änderung auf
brachte auch keine Besserung.
Kurz und gut: Ich kann dir da auch nicht weiterhelfen. Aber das soll gar nichts bedeuten, da ich ja auch nicht der Kenner bin.
Gruß
balu
Ja kann ich. Unter WinXP-Pro mit (selbsterstellte)Portable LO 3.5.5.3. Mit OOo 3.3.0 gibts keine Probleme.Kann das jemand nachvollziehen
Bei "sichtbar öffnen und schließen" gibt es keine Probleme. Jedoch bei "unsichtbar öffnen und schließen" ist Schluss mit Lustig, also Absturz.
Neinhat jemand eine Idee wie der Absturz verhindert werden kann?

Folgende Änderungen hatte ich vorgenommen, und trotzdem Absturz.
1.
Code: Alles auswählen
dim bhidden as boolean
2.
Eine kleine aber wohl wichtige Änderung.
Bei
Code: Alles auswählen
F_load_template = StarDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, aProps1())
3.
Eine kleine Überprüfung ob auch der auslösende Button den richtigen Wert ausgibt.
Code: Alles auswählen
Sub Load_Template(event)
bhidden = event.source.model.tag
print bhidden
4.
Mit Functions kenne ich mich noch nicht so richtig aus, aber müsste das nicht richtigrum so heißen?
Code: Alles auswählen
function F_load_template (sFilename as String, bHidden as boolean) as Object
Und gleich noch zwei Fragen dazu.
sFilename finde ich nur dort an besagter Stelle, und sonst nirgendwo anders. Ist das richtig so? Was bezweckst Du damit?
Eine Änderung auf
Code: Alles auswählen
function F_load_template (sFilename as String, bHidden as boolean)
Kurz und gut: Ich kann dir da auch nicht weiterhelfen. Aber das soll gar nichts bedeuten, da ich ja auch nicht der Kenner bin.
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Absturz LO, Schliessen eines versteckt geladenen Calc-Do
Hallo Balu,
vielen Dank für die Mühe die du Dir gemacht hast. Das es Dir genauso geht wie mir, beruhigt mich ein wenig, da scheint also LO einen Bug zu haben.
Es wäre interessant zu erfahren, ob der Fehler nur unter Windows oder auch unter anderen Betriebssystemen auftritt.
Die urspüngliche function rief kein leeres Dokument ("private:factory/scalc") sondern eine Vorlage mit dem Namen sFilename auf.
Beste Grüsse von Rik
vielen Dank für die Mühe die du Dir gemacht hast. Das es Dir genauso geht wie mir, beruhigt mich ein wenig, da scheint also LO einen Bug zu haben.
Es wäre interessant zu erfahren, ob der Fehler nur unter Windows oder auch unter anderen Betriebssystemen auftritt.
Nun, das ist ein Relikt, das ich bei der Vereinfachung der function "F_load_template" übersah.balu hat geschrieben:sFilename finde ich nur dort an besagter Stelle, und sonst nirgendwo anders. Ist das richtig so? Was bezweckst Du damit?
Die urspüngliche function rief kein leeres Dokument ("private:factory/scalc") sondern eine Vorlage mit dem Namen sFilename auf.
Beste Grüsse von Rik
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Absturz LO, Schliessen eines versteckt geladenen Calc-Do
Hallo zusammen,
ich möchte Euch informieren, dass ich das Problem dank dieses Hinweises von DPunch in einer PM lösen konnte.
Anscheinend kann LO damit nichts anfangen.
Ich habe also diesen Code:
so ersetzt:
Hier wird anstelle des Frames die aktuelle Komponente übergeben und gespeichert, jetzt funktioniert es einwandfrei.
Beste Grüße von Rik
ich möchte Euch informieren, dass ich das Problem dank dieses Hinweises von DPunch in einer PM lösen konnte.
Der Grund für den Absturz war tatsächlich die Dispatcher-Methode mit der ich die versteckt geladene Datei als .pdf speichern wollte.DPunch hat geschrieben:Kannst Du den Export auch ohne Dispatcher machen? Das wäre vielleicht auch noch ein Ansatz, da der Dispatcher sich direkt auf den Frame bezieht, den Du versteckst. So direkte Abstürze hängen fast immer damit zusammen, dass ein Objekt bereits disposed wurde, dass noch für irgendwas benötigt wird. Der Export, der noch irgendwo festhängt, aber in direkter Verbindung zum Frame steht, der mit dem Schliessen des Dokuments disposed wird z.B.. Möglicherweise benachrichtigt ein Hidden geöffnetes Dokument (respektive der Controller) nicht alle Listener korrekt, wenn es geschlossen wird.
Anscheinend kann LO damit nichts anfangen.
Ich habe also diesen Code:
Code: Alles auswählen
sub Export_pdf (oframe)
URL = replace (thiscomponent.location,".odt",".pdf")
url_pdf_out = converttourl(URL)
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = url_pdf_out
args1(1).Name = "FilterName"
args1(1).Value = "writer_pdf_Export"
dispatcher.executeDispatch(oframe, ".uno:ExportDirectToPDF", "", 0, args1())
end sub
Code: Alles auswählen
sub Export_pdf (document)
URL = replace (thiscomponent.location,".odt",".pdf")
url_pdf_out = converttourl(URL)
Dim myProps(0) as New com.sun.star.beans.PropertyValue
myProps(0).Name="FilterName"
myProps(0).Value = "calc_pdf_Export"
document.storetoUrl(url_pdf_out,myProps()) 'Speichern
end sub
Beste Grüße von Rik
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO