Abstürze beim Löschen von Objekten auf einer Drawpage
Verfasst: Sa, 12.08.2017 16:17
Hallo Leute,
ich habe Probleme beim Löschen von Objekten von einer Drawpage. Beim Googeln finde ich einige Hinweise, dass es hier zu Abstürzen kommen kann.
Bei mir passiert das reproduzierbar. Bei meinem Rechentrainer (den kennen ja wohl schon einige hier) füge ich Kreise mit verschiedenen Prozentanteilen per Makro auf einer Drawpage ein. Ein Ausschnitt aus dem Code:
Anschließend wird die zeichnung wieder gelöscht. Das funktioniert auf der Tabellenseite 3, 7, 8 .... aber nicht auf der Seite 1. Wenn ich die Kreise dort erzeuge und anschließend lösche dann stürzt das Programm beim Speichern ohne Kommentar ab. Der Code:
Auf den Seiten 7 und 8 sind je 7 Buttons die nicht gelöscht werden. Auf der Seite 1 und 3 nicht. Nur bei Seite 1 gibt es einen Absturz.
... Hat irgendjemand eine Idee?
Pit
ich habe Probleme beim Löschen von Objekten von einer Drawpage. Beim Googeln finde ich einige Hinweise, dass es hier zu Abstürzen kommen kann.
Bei mir passiert das reproduzierbar. Bei meinem Rechentrainer (den kennen ja wohl schon einige hier) füge ich Kreise mit verschiedenen Prozentanteilen per Makro auf einer Drawpage ein. Ein Ausschnitt aus dem Code:
Code: Alles auswählen
oKreis= oDoc.createInstance("com.sun.star.drawing.EllipseShape")
with oKreis
.Position = erzeugePunkt(x0, y0)
.Size=erzeugeSize(3000,3000)
.FillStyle=com.sun.star.drawing.FillStyle.SOLID
.FillColor=rgb(255, 255, 255)
end with
oPage.add(oKreis)
oWinkel= oDoc.createInstance("com.sun.star.drawing.EllipseShape")
with oWinkel
.Position = erzeugePunkt(X0, Y0)
.Size=erzeugeSize(3000, 3000)
end with
oWinkel.CircleKind=com.sun.star.drawing.CircleKind.SECTION
with oWinkel
.CircleStartAngle=(0)*100
.CircleEndAngle=(aZ/aN*360)*100
.FillStyle=com.sun.star.drawing.FillStyle.SOLID
.FillColor=255
end with
oPage.add(oWinkel)
Code: Alles auswählen
sub ZeichnungLoeschen (seite)
oPage=ThisComponent.drawpages(seite)
if seite=1 or seite =3 then
do while oPage.count>0
oGrafik=opage.getbyindex(oPage.count-1)
oPage.remove(oGrafik)
loop
else
do while oPage.count>7
oGrafik=opage.getbyindex(oPage.count-1)
oPage.remove(oGrafik)
loop
end if
end sub
... Hat irgendjemand eine Idee?
Pit