Seite 1 von 1

[SOLVED] Crash beim Speichern

Verfasst: Mi 9. Apr 2014, 16:28
von xundeenergie
Hi, ich hab ein Problem.

Ich möchte gern in meinem Makro eine Calc-Tabelle speichern. Der Dateiname ist vom User festzulegen.
Ich komme soweit, dass ich den Dateinamen angeben (oder eine bereits existierende Datei auswählen) kann. Drücke ich dann auf "Speichern" im Dialog, so stürzt Libreoffice ab. Ich bekomme leider auch keine Fehlermeldung, wenn ich LO über die Kommandozeile starte.

Das ist das Codeschnipsel.

Code: Alles auswählen

		Dim MyDialog as Object
		Dim Dialogtyp(0)
		
		DialogTyp(0) = com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION_SELECTION

		MyDialog=createunoservice("com.sun.star.ui.dialogs.FilePicker")
		MyDialog.displaydirectory=converttourl(sPathFile)
		myDialog.initialize(DialogTyp())
		MyDialog.execute
		sMyWorkFileUrl=MyDialog.SelectedFiles(0)
		oMyWorkFile.storeAsUrl(sMyWorkFileUrl,myProps())
		oMyWorkFile.close(true)
Das Makro läuft bis zur Zeile "MyDialog.execute" durch, der Filepicker öffnet sich, und wie gesagt, beim Klick auf "Speichern" stürzt LO ab.

Lasse ich hingegen die Initialisierung des Dialogtyps weg, läuft das Makro auch nach dem Klick auf "Speichern" weiter und speichert ordnungsgemäß das File.
Das Problem dabei ist... Ich kann nur bestehende Files auswählen und kein neues kreieren (was aber Sinn und Zweck der Übung ist), da dieser Filepicker ohne Dialogtyp-Deklaration/Initialisierung diese Optionen nicht anbietet.

Kann das jemand nachvollziehen?

Ich hab hier
LO Version: 4.1.4.2
Build-ID: 410m0(Build:2)
aus Debian Squeeze/Backports am Laufen.

Beim Starten von LO bekomme ich immer folgende Fehlermeldung:

Code: Alles auswählen

p11-kit: invalid config filename, will be ignored in the future: /etc/pkcs11/modules/gnome-keyring-module
WARNING: gnome-keyring:: couldn't connect to: /run/user/1000/keyring-EPpGGB/pkcs11: Datei oder Verzeichnis nicht gefunden
p11-kit: skipping module 'gnome-keyring-module' whose initialization failed: Auf dem Gerät trat ein Fehler auf.
lg jakob

Re: Crash beim Speichern

Verfasst: Mi 9. Apr 2014, 18:48
von F3K Total
Hi,
bei mir (W7) stürzt das Programm nicht ab, meckert aber, das
myProps() nicht dimensioniert sind
HTH R

Re: Crash beim Speichern

Verfasst: Mi 9. Apr 2014, 18:54
von xundeenergie
Ich habs jetzt am Rechner meiner Freundin auch getestet. Selbe LO-Version. Dort funktioniert es auch.

Bzgl. dem myProps musst du am Anfang noch ein

Code: Alles auswählen

Dim myProps() 
einfügen. Dann passts.

Ich hab noch ein anderes Problem festgestellt, dass ich hier zuverlässig reproduzieren kann.
Jedesmal, wenn ich LO neu gestartet habe und mein Makro das erste Mal starte, kommt diese Fehlermeldung
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.lang.WrappedTargetException
Message:
TargetException:
Type: com.sun.star.script.LibraryNotLoadedException
Message: .
Beim zweiten Durchlauf funktioniert es dann. Ich weiß aber nicht, welchem Aufruf ich das das zuordnen kann...

lg xundeenergie

Re: Crash beim Speichern

Verfasst: Mi 9. Apr 2014, 18:58
von xundeenergie
Und jetzt kam:

Code: Alles auswählen

p11-kit: invalid config filename, will be ignored in the future: /etc/pkcs11/modules/gnome-keyring-module
WARNING: gnome-keyring:: couldn't connect to: /run/user/1000/keyring-dcpQvL/pkcs11: Datei oder Verzeichnis nicht gefunden
p11-kit: skipping module 'gnome-keyring-module' whose initialization failed: Auf dem Gerät trat ein Fehler auf.

(gnome-settings-daemon:12599): PackageKit-WARNING **: couldn't parse execption 'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._pk_5ftransaction_5ferror.Code4: GetDistroUpgrades not supported by backend', please report

(gnome-settings-daemon:12599): updates-plugin-WARNING **: failed to get upgrades: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._pk_5ftransaction_5ferror.Code4: GetDistroUpgrades not supported by backend
NVIDIA: could not open the device file /dev/nvidia0 (Operation not permitted).
NVIDIA: could not open the device file /dev/nvidia0 (Operation not permitted).
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f3143ea0c30, pid=25107, tid=139849840576480
#
# JRE version: 6.0_27-b27
# Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.12.6
# Distribution: Debian GNU/Linux 7.1 (wheezy), package 6b27-1.12.6-1~deb7u1
# Problematic frame:
# C  [libvclplug_gtklo.so+0x5ac30]  std::vector<unsigned short, std::allocator<unsigned short> >::~vector()+0x8a80
#
# An error report file with more information is saved as:
# /home/jakob/hs_err_pid25107.log
#
# If you would like to submit a bug report, please include
# instructions how to reproduce the bug and visit:
#   http://icedtea.classpath.org/bugzilla
#

[error occurred during error reporting , id 0xb]
Das erwähnte Logfile hab ich angehängt.

lg

Re: Crash beim Speichern

Verfasst: Mi 9. Apr 2014, 19:07
von F3K Total
xundeenergie hat geschrieben:BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.lang.WrappedTargetException
Message:
TargetException:
Type: com.sun.star.script.LibraryNotLoadedException
Message: .
Das weist darauf hin, dass das Makro nicht in der "Standard" Bibliothek steht, alle anderen Bibliotheken müssen aktiv geladen werden, such mal nach

Code: Alles auswählen

LoadLibrary
HTH R

Re: Crash beim Speichern

Verfasst: Mi 9. Apr 2014, 20:46
von xundeenergie
F3K Total hat geschrieben:
xundeenergie hat geschrieben:BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.lang.WrappedTargetException
Message:
TargetException:
Type: com.sun.star.script.LibraryNotLoadedException
Message: .
Das weist darauf hin, dass das Makro nicht in der "Standard" Bibliothek steht, alle anderen Bibliotheken müssen aktiv geladen werden, such mal nach

Code: Alles auswählen

LoadLibrary
HTH R
Ich habs mittlerweile gefunden... und gefixt.

Allerdings stürzt mein LO immer noch beim Speichern-Dialog ab...

[SOLVED] Crash beim Speichern

Verfasst: Mi 9. Apr 2014, 21:56
von xundeenergie
Es funktioniert wieder.
Aber ich habe jetzt etwas ganz seltsames erlebt... Hab mal alle Java-Runtime-Environments gelöscht, LO vollkommen deinstalliert, die Userverzeichnisse entfernt, das halbe Linux neu installiert (ein entfernen der JRE hat ganz schön viele Abhängigkeiten...), dann LO wieder neu installiert, und sonst noch alles, was beim aufräumen flöten ging.

Half immer noch nichts... Hab dann noch an den Optionen herumprobiert und bin dann draufgekommen, dass der Speichern-Dialog ja überhaupt falsch dargestellt wurde. Denn beim FILESAVE_SIMPLE gabs kein Feld zum Eingeben des Filenamens... Jetzt ist das wieder da, nachdem ich mit den Icongrößen usw. herumprobiert habe.

Aber noch etwas ist jetzt anders...
In einem anderen Dialog zur Auswahl von Files kommt in der letzten Zeile AttachSelect.Files(0) vor. Das ist jetzt erforderlich. Ich hatte bisher aber SelectedFiles. Das wird nicht mehr anerkannt... dafür geht Speichern... :? :o

Code: Alles auswählen

function searchangebotsfile(sPathFiles)
		REM - Auswahldialog für Attachments
		Dim AttachSelect as object
		AttachSelect=createunoservice("com.sun.star.ui.dialogs.FilePicker")
		AttachSelect.displaydirectory=converttourl(sPathFiles)
		'AttachSelect.setMultiSelectionMode(true)
		AttachSelect.execute
		searchangebotsfile = AttachSelect.Files(0)
end function
Nun ja... schräg das ganze. Aber irgendwie läuft LO jetzt auch viel schneller und mit weniger Serverlast. Es ist jetzt die Oracle JRE 1.7.0_17 am werken.

lg xundeenergie