IntegerOverflow in TAdvOutlookList

Hello,


i use your TAdvOutlookList (last Version) and when i use the Keyboard to scroll trough the List i get an IntegerOverflow Error (GroupRow).

The Error occurs also in your GroupingDemo.

With the latest version v1.7.4.0 I could not see any issue here running the demos.
Please provide more detailed information / exact steps.

Start the "Grouping Demo", click on the last entry of the list, then scroll with the cursor keys up to the group entry.


Version V 1.7.4.0 from the Component Pack

Can you reproduce the Bug?

Sorry, I cannot reproduce the bug.
Please contact us by email with a sample source project and exact/detailed steps

Hi,

I've the same Problem! Sorry for my english first!
It's because I usually use the Delphi-Compile-Option for Overflow-Check.
The Problem can be found in "OutlookGroupedList.pas" in "MoveFocus".
There is a internal Funktion called "GetPrevRowItem", where from
a Cardinal (POGLItem.ItemIndex) you substract a Integer (here "FItemsPerRow").
If you cast it to an Integer first (like the other million times ;-) ), it should work fine.
(In my code for testing:
Index := Integer(FFocusedItem.Index) - FItemsPerRow;
)
I hope you can now find the Problem!

Greetings from Papenburg, Germany
 Gerit

---
German translation: [Falls jem. deutsch kann! :-) ]

Einen wunderschönen Tag zusammen,

ich habe das gleiche Problem bei mir (reproduzierbar!)! Zuerst aber: Entschuldigt bitte mein englisch!
Das Problem tritt bei mir auf, da ich stets mit den Compiler-Optionen
"Bereichsprüfung" und "Überlaufprüfung" erzeuge.
Finden kann man den Fehler in "OutlookGroupedList.pas" in "MoveFocus".
Hier gibt es die interne Funktion "GetPrevRowItem", bei dem ihr
von einem Cardinal (POGLItem.ItemIndex) einen Integer (hier "FItemsPerRow") abzieht
Wenn das ganze zuvor (wie auch an tausend anderen Stellen! ;-) ) in einen Integer
ge-casted sollte es wieder gehen!
(Zum Vergleichen, bei mir steht nun:
Index := Integer(FFocusedItem.Index) - FItemsPerRow;
)
Ich hoffe ich konnte euch mit dem Problem helfen!

Liebe Grüße auf Papenburg, Deutschland
 Gerit

Although I can still not reproduce it, I tested both demo "Grouping" and "Grouping functions" as there is no folder with name "Grouping Demo". I tested it with both overflow and range checking enabled but it does not cause an error here. I could understand the issue from the description though and have adapted it. Next update will have this improvement.

Hi Mr. Fierens,

this would be nice! ... Tip: I'ved using Delphi XE(1) ... Maybe this cause it only in this "world"!? o.O
But if you change this, I hope the Problem is obsolete for others, too! ;-)

Greeting, Gerit!

Hallo Gerit,


danke für die Unterstützung. ;)