von jemies » Fr, 13.01.2012 15:14
Hallo
(Hinweis: Ich benutze LibreOffice 3.4.4. Ich erlaube mir dennoch, hier zu posten, weil ich alles, was ich für mein kleines Skript brauchte, hier bzw. bei den englischsprachigen KollegInnen dieser Seite zusammen gesammelt habe. Bitte um Nachsicht. Ich habe den Fehler bzw. Vorgang auch in meiner VirtualBox mit OpenOffice-3.3 auf WindowsXP untersucht. Dort stürzte OOO-3.3 bereits etwas früher ab.)
In einem Dokument mit einem Formular (Thema: "standalone-Form") habe ich einen Frame mit der Eigenschaft Name="Viewer" (per GUI) angelegt. Mit folgendem Code versuche ich ein file.odt, das ebenfalls ein Formular enthält, in den Frame mit der Eigenschaft Name="Viewer" zu laden:
Code: Alles auswählen
function fnOpenDoc(sFile)
DIM sURL AS String
DIM oFrame As Object
sURL = ConvertToURL(sFile)
fnOpenDoc = StarDesktop.CurrentComponent.CurrentController.Frame.loadComponentFromURL(sURL, oFrame, 0, Array())
end function
sub OpenDocToViewer
Dim oDoc As Object
Dim oFrame As Object
Dim sFile As String
Dim oDoc2 As Object
' Get the document that this macro is embedded into.
oDoc = ThisComponent.CurrentController.Frame
' Get the Viewer-Frame within the Document.
oFrame = oDoc.findFrame("Viewer",0)
sFile = "pathtofile/file.odt"
oDoc2 = fnOpenDoc(sFile)
end sub
Nachdem der Code ursprünglich zwei- oder dreimal funktioniert hat, erhalte ich nun regelmäßig einen Absturz mit folgender Fehlermeldung:
Die vermutlich mit
diesem Bug zusammenhängt.
Muss ich das Ziel aufgeben, dass die per Button aufgerufenen Dokumente in einem Frame des übergeordneten Dokumentes angezeigt werden? Oder hat jemand eine bessere Idee?
Dank und Gruß
jemies
Hallo
(Hinweis: Ich benutze LibreOffice 3.4.4. Ich erlaube mir dennoch, hier zu posten, weil ich alles, was ich für mein kleines Skript brauchte, hier bzw. bei den englischsprachigen KollegInnen dieser Seite zusammen gesammelt habe. Bitte um Nachsicht. Ich habe den Fehler bzw. Vorgang auch in meiner VirtualBox mit OpenOffice-3.3 auf WindowsXP untersucht. Dort stürzte OOO-3.3 bereits etwas früher ab.)
In einem Dokument mit einem Formular (Thema: "standalone-Form") habe ich einen Frame mit der Eigenschaft Name="Viewer" (per GUI) angelegt. Mit folgendem Code versuche ich ein file.odt, das ebenfalls ein Formular enthält, in den Frame mit der Eigenschaft Name="Viewer" zu laden:
[code]function fnOpenDoc(sFile)
DIM sURL AS String
DIM oFrame As Object
sURL = ConvertToURL(sFile)
fnOpenDoc = StarDesktop.CurrentComponent.CurrentController.Frame.loadComponentFromURL(sURL, oFrame, 0, Array())
end function
sub OpenDocToViewer
Dim oDoc As Object
Dim oFrame As Object
Dim sFile As String
Dim oDoc2 As Object
' Get the document that this macro is embedded into.
oDoc = ThisComponent.CurrentController.Frame
' Get the Viewer-Frame within the Document.
oFrame = oDoc.findFrame("Viewer",0)
sFile = "pathtofile/file.odt"
oDoc2 = fnOpenDoc(sFile)
end sub
[/code]
Nachdem der Code ursprünglich zwei- oder dreimal funktioniert hat, erhalte ich nun regelmäßig einen Absturz mit folgender Fehlermeldung:
[code]SIGSEGV in framework::LockHelper::acquireReadAccess()[/code]
Die vermutlich mit [url=https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/857638]diesem Bug[/url] zusammenhängt.
Muss ich das Ziel aufgeben, dass die per Button aufgerufenen Dokumente in einem Frame des übergeordneten Dokumentes angezeigt werden? Oder hat jemand eine bessere Idee?
Dank und Gruß
jemies