Imagelist.Add gibt merkwürdige Werte zurück

Rund um die LCL und andere Komponenten
Antworten
AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Imagelist.Add gibt merkwürdige Werte zurück

Beitrag von AlterMann »

Hallo Leute

Ist das normal, daß ImageList.Add als Indizes 0, 309, 618 ... zurückgibt?

Weiß da jemand etwas darüber?

Schöne Grüße
Christian
Früher war alles besser. Und aus Holz!

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Imagelist.Add gibt merkwürdige Werte zurück

Beitrag von m.fuchs »

Ja, das ist normal. Dein Image ist offenbar größer als Height und Width deiner Imagelist. In diesem Fall wird das Image aufgeteilt und mehrere Einträge in der Imagelist erzeugt. Dementsprechend bekommst du dann solche Abstände in der Rückgabe.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Imagelist.Add gibt merkwürdige Werte zurück

Beitrag von AlterMann »

Ja. Du hast recht, das ist die Ursache.

Trotzdem ist es anscheinend komplizierter.

Setze ich die Width u. Height der Image List zur Laufzeit auf die Width und Height der Drruckercanvas (~2500x3200) oder in der IDE auf 5000x5000 dann stürzt das Programm mit LZ-Fehler 203 ab.

Setze ich sie in der IDE auf 100x100 passt die Nummerierung (0, 1, ...) obwohl die DruckCanvas viel größer ist.

Egal, es zeigt jetzt richtig an.

Danke!
Früher war alles besser. Und aus Holz!

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Imagelist.Add gibt merkwürdige Werte zurück

Beitrag von m.fuchs »

Hm, da bringst du jetzt ein neues Problem ins Spiel. Da reicht dein Speicher wohl nicht aus, wenn du den 203-Fehler kassierst.
Du müsstest mal genauer beschreiben was du machst und was für Daten du von wo nach wo schaufelst.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Imagelist.Add gibt merkwürdige Werte zurück

Beitrag von Michl »

Da ist wirklich ein merkwürdiges Verhalten. Zieht man sich eine TImageList aufs Formular und fügt ein größeres Image hinzu (in der IDE per Editor), wird man gefragt, ob man das Image aufteilen will. Stelle ich die Height auf einen anderen Wert als "16" kommt es nicht mehr zu der Abfrage :?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Antworten