Referring to the following code;
Code: Select all
Global Window_0
Global ListView_0
Procedure OpenWindow_0(x = 0, y = 0, width = 600, height = 1000)
Window_0 = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu)
ListView_0 = ListViewGadget(#PB_Any, 10, 10, 250, 970)
EndProcedure
Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
OpenWindow_0()
For x.i=0 To 65609
AddGadgetItem(ListView_0,-1,Str(x))
Next x
Repeat
event = WaitWindowEvent()
Until Window_0_Events(event) = #False
End
Sorry for the Q&D copy paste.
Running the program as is, loads items in the listview 0 to 65609. When you grab the vertical scoll bar and drag it down, as you get close to the bottom, the items list starts over. If you make x a maximum of 65608 the it acts as is expected.
This occurs in both the x86 and x64 versions of 5.24LTS under Windows 7 x64. This does not appear in 5.20LTS under XP. I am doing some further investigation. This also does not appear in 5.31 under Linux.
Further testing reveals it does happen with 5.20LTS under Win 7 x64
Also happens with 5.31 under Win7 x64
Also happens with 4.61 under Win7 x64
I'd guess that this is somehow a Win7 issue, may or may not be restricted to x64 versions of Windows.
I did a very similar program in VB6 and the problem does not appear using VB6
Again, this does not appear to be a x86 / x64 development environment issue, but rather a PB issue in how it interfaces with Win7 x64. I do not have a Win7 x86 machine I can test on. I also do not have many other programming languages installed to do further testing in other dev environments to further try to nail this down.