ListIconGadget: AddGadgetItem verursacht Fehler

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

ListIconGadget: AddGadgetItem verursacht Fehler

Beitrag von Kiffi »

Hallo,

ich stehe ein bißchen auf dem Schlauch. Mit folgendem Code hole ich mir
ein Icon aus einem Blob-Feld einer SQLite3-Datenbank. Dieses wandel ich
mit CatchImage in ein Image und versuche es dann in ein ListIconGadget
zu verfrachten.

Code: Alles auswählen

[Schleife]
FieldLen = SQLite3_Column_Bytes(Statement, 2) ; Feldlänge Icon-Blob ermitteln
If FieldLen
  MemBuffer = AllocateMemory(FieldLen)
  SourceMem = SQLite3_Column_Blob(Statement, 2)
  CopyMemory(SourceMem, MemBuffer, FieldLen)
  myIMG = CatchImage(#PB_Any, MemBuffer, FieldLen)
  FreeMemory(MemBuffer)
EndIf

AddGadgetItem(#LIG, -1, myIconName$, ImageID(myIMG)) ; <-- KrachBumm (aber erst beim 26. Icon)
SetGadgetItemData(#LIG, lCounter, Val(myKey$))
[/Schleife]
Nun tritt folgendes Phänomen auf: Unter Windows 2000 läuft alles so, wie
von mir erwartet. Hier kann ich in einem Rutsch mehrere tausend Icons in
das ListIconGadget pumpen. Unter Windows XP jedoch schmiert PB mit
einem 'invalid memory access' in der Zeile AddGadgetItem() ab.

Das Merkwürdige: Der Absturz tritt genau beim 26ten Icon auf;
unabhängig von der Reihenfolge der Icons in der Datenbank. D.h., dass
"icon1.ico" problemlos eingefügt wird, wenn es an erster Stelle steht,
jedoch einen Fehler verursacht, wenn es an 26ter Stelle eingefügt wird.

Was läuft da schief?

Danke im voraus & Grüße ... Kiffi
Hygge
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

Benutzt du denn die Beta3 ?
Weil in der 2.Beta hatte ich fast den selben Fehler, der dann aber eigentlich gefixt schien.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Benutzt du denn die Beta3 ?

Bingo! Das war's! :D

Auf dem 2000er hatte ich die Beta3 bereits installiert. Auf dem XP noch nicht.

Danke für Deinen goldrichtigen Tipp! :allright:

Grüße ... Kiffi
Hygge
Antworten