CALC: Absturz nach x-fachem Einfügen Bild

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
Krangel
**
Beiträge: 35
Registriert: Di, 22.04.2014 12:23
Wohnort: 3. Planet

CALC: Absturz nach x-fachem Einfügen Bild

Beitrag von Krangel »

Hi,
ich habe Probleme mit diesem Code:

Code: Alles auswählen

Sub Aktualisieren
	Doc = thisComponent
	mySheet = Doc.sheets(0)
	REM ----------------------- Löschen ------
	Clear
	Rem ------------------------Dateinamen holen -----
	Grafik_Namen
	Rem ------------------------holt den aktuellen Pfad --------
	Aktueller_pfad 
	
    Anzahl = MySheet.getCellRangeByName("B4")
    mycell = mysheet.getCellByPosition(0,0) ' ? Aktuell? neue Nr
    mycell.value = 0
    mycell = mysheet.getCellByPosition(1,0) 'neue Nr
    mycell.value = 0
    For i = 0 to Anzahl.Value -1
  
    Bild = MySheet.GetCellByPosition(1,4 + i)
 
    Page = thisComponent.sheets(0).DrawPage
    GraphicObjectShape = Doc.createInstance("com.sun.star.drawing.GraphicObjectShape")
   
    Size.Width = 5030	 'Grösse
    Size.Height = 11900 'Grösse
    GraphicObjectShape.Size = Size
   
    Point.x = 12000 'Position   
    Point.y = 200 'Position
    GraphicObjectShape.Position = Point
    GraphicObjectShape.Transparency = 0
    GraphicObjectShape.GraphicURL = sFolderUrl & Bild.string
   
    GraphicObjectShape.Name = "Inventar " &  i
    Page.add(GraphicObjectShape)
    next i
End Sub
Das Makro liest PNG Dateien im Pfad des Dokuments und fügt sie an dieselbe Position ein. Die aktuelle Grafik wird auf 0 die anderen auf 100 Transparenz gesetzt.
Wenn ich den Bereich, in dem die Grafiken eingefügt werden vorher lösche, stürzt das Programm nach dem 5 bis 20 zigsten Aufruf, mit "Unerwarteten Fehler", komplett ab.

Löschroutine:

Code: Alles auswählen

oDocGL = thisComponent
oDocGL.Sheets(0).getCellRangeByName("E1:I25").clearContents(128)

oder eine mit dem Recorder aufgezeichnete haben die selbe Wirkung.

Was ist hier fehlerhaft?

Grüße
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: CALC: Absturz nach x-fachem Einfügen Bild

Beitrag von komma4 »

Krangel hat geschrieben:Was ist hier fehlerhaft?
Dass Du versuchst eine Tabellenkalkulation als Bilder-Album-Anwendung zu missbrauchen!

Irgendwie wird irgendwann der interne Speicher von OpenOffice ein Problem mit dem Einfügen bekommen.
Versuche mal, die Datei zwischendurch zu speichern. - vielleicht hilft das.


(Habe Deinen Betreff geändert, um das Problem zu konkretisieren)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: CALC: Absturz nach x-fachem Einfügen Bild

Beitrag von balu »

Hallo Krangel,

erstmal ein Paar Tipps.

Code: Alles auswählen

    Anzahl = MySheet.getCellRangeByName("B4")
    mycell = mysheet.getCellByPosition(0,0) ' ? Aktuell? neue Nr
    mycell.value = 0
    mycell = mysheet.getCellByPosition(1,0) 'neue Nr
    mycell.value = 0
Das macht man nicht, zwei unterschiedlichen Zellen den gleichen Variablennamen zuweisen!
Besser ist es z.B. so.

Code: Alles auswählen

    Anzahl = MySheet.getCellRangeByName("B4")
    mycell1 = mysheet.getCellByPosition(0,0) ' ? Aktuell? neue Nr
    mycell1.value = 0
    mycell2 = mysheet.getCellByPosition(1,0) 'neue Nr
    mycell2.value = 0

Code: Alles auswählen

   Doc = thisComponent
   mySheet = Doc.sheets(0)

[...]

    Page = mySheet.DrawPage
Was hälst Du davon?


Zu deinem eigentlichem Problem.
Die Löschroutine ist als solches nicht falsch.
ABER!!!
Die Sache mit clearContents(128) ist nicht ganz so einfach. Ich empfehle dir daher diesen Beitrag durchzulesen, dann müsstest Du verstehen was ich meine.



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 :D
Benutzeravatar
Krangel
**
Beiträge: 35
Registriert: Di, 22.04.2014 12:23
Wohnort: 3. Planet

Re: CALC: Absturz nach x-fachem Einfügen Bild

Beitrag von Krangel »

Hi,

sorry für die Blasphemie.
Das Zwischenspeichern bringt keine Abhilfe.

Grüße


Moderation,4: Neues Thema; abgetrennt nach: Dokument im gleichen Fenster (frame) laden
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: CALC: Absturz nach x-fachem Einfügen Bild

Beitrag von komma4 »

Das ist keine Blasphemie, sondern einfach die Feststellung, dass Du das falsche Werkzeug für die Aufgabe nutzt.


Bitte beachte die Moderationshinweise!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten