Hallo zusammen,
ich bin es mal wieder....
Nun bin ich fast fertig, aber natürlich muss da mal wieder was kommen.
Ich habe eine Scrollbox, in der ich untereinander eiine Kombi von Timage, TButton und 2 Labels setze.
Das Ganze ist eine Art Druckerqueue.
Bei ca. 225 Einträgen ist dann der .Top Wert eines der Komponenten größer als 32768 und ich bekomme die Meldung:
"Position range overflow in .SendMoveSizeMessages: Left=202, Top=32802."
{$mode objfpc} ist gesetzt, integer sollte also eigentlich longint sein, was bei einer ganz normal deklarierten Variable auch so ist.
Hat jemand eine Idee, wie man das Problem umgehen kann.
Ich arbeite übrigens unter Ubuntu Mate 22.04 (GTK2).
Viele Grüße Sven
Position overflow in SendMoveSizeMessages - Scrollbox
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Position overflow in SendMoveSizeMessages - Scrollbox
Hi!
Bevor du dich dusselig suchst, habe ich eine Vermutung:
Der Canvas kann nicht mehr als 32767 Pixel.
Das steht irgendwo (in der LCL??) als Maximalwert.
Das Vergnügen hatte ich schon mal, als ich den Canvas reichlich gezoomt hatte.
Winni
Bevor du dich dusselig suchst, habe ich eine Vermutung:
Der Canvas kann nicht mehr als 32767 Pixel.
Das steht irgendwo (in der LCL??) als Maximalwert.
Das Vergnügen hatte ich schon mal, als ich den Canvas reichlich gezoomt hatte.
Winni
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Position overflow in SendMoveSizeMessages - Scrollbox
Hi!
Workaround:
Pack die Druckerqueue in eine Stringlist.
Schmeiss die Scrollbox weg.
Mach Dir einen Pfeil hoch und einen Pfeil runter neben das Image.
Rechne Dir aus, wieviel Einträge in das (kleinere) Image passen.
Nun machst Du ein Fenster in die Liste:
Du zeigst immer nur die n Einträge, die ins Fenster passen.
Pfeil nach oben: Index minus n
Pfeil nach unten: Index plus n
So müsste es gehen.
Winni
Workaround:
Pack die Druckerqueue in eine Stringlist.
Schmeiss die Scrollbox weg.
Mach Dir einen Pfeil hoch und einen Pfeil runter neben das Image.
Rechne Dir aus, wieviel Einträge in das (kleinere) Image passen.
Nun machst Du ein Fenster in die Liste:
Du zeigst immer nur die n Einträge, die ins Fenster passen.
Pfeil nach oben: Index minus n
Pfeil nach unten: Index plus n
So müsste es gehen.
Winni
Re: Position overflow in SendMoveSizeMessages - Scrollbox
Moin,
also der erste Post klingt ja nicht ganz so toll und beim zweiten bin ich mir gerade nicht sicher, inwieweit mir eine TStringList Weiterhelfen soll.
Die Queue besteht ja tatsächlich aus Bildern, die dann gedruckt werden.....
Viele Grüße Sven
also der erste Post klingt ja nicht ganz so toll und beim zweiten bin ich mir gerade nicht sicher, inwieweit mir eine TStringList Weiterhelfen soll.
Die Queue besteht ja tatsächlich aus Bildern, die dann gedruckt werden.....
Viele Grüße Sven
Re: Position overflow in SendMoveSizeMessages - Scrollbox
Moin nochmal,
ich hätte zwar eine Idee mit einem Panel und Pfeilen, aber ich glaube ich mache das jetzt ganz Quick 'n Dirty.... die Wahrscheinlichkeit, dass jemand bei uns auf einmal mehr als 200 Label Drucken muss, ist sehr gering.... ich werde mal einfach die Anzahl begrenzen
Theoretisch könnte ich es wahrscheinlich einfach so lassen, würde vielleicht ein mal alle 5 Jahre passieren, aber ich mag es nicht, wenn Programme abstürzen ....
Viele Grüße Sven
ich hätte zwar eine Idee mit einem Panel und Pfeilen, aber ich glaube ich mache das jetzt ganz Quick 'n Dirty.... die Wahrscheinlichkeit, dass jemand bei uns auf einmal mehr als 200 Label Drucken muss, ist sehr gering.... ich werde mal einfach die Anzahl begrenzen

Theoretisch könnte ich es wahrscheinlich einfach so lassen, würde vielleicht ein mal alle 5 Jahre passieren, aber ich mag es nicht, wenn Programme abstürzen ....
Viele Grüße Sven