我们正在体验Firemonkey的ScrollBox组件中似乎是一个奇怪的错误(因为TGrid
继承自TScrollBox
,它也会影响所有网格)。在我们的开发机器上,一切正常,而在其他机器上则会发生错误。我们未能检测到系统之间的任何模式(我们检查了操作系统,图形硬件,DirectX版本)。
繁殖:
TScrollBox
。如果发生错误,该按钮不可见。
使用网格时,这会导致1-19047行正确显示,并且不会显示19047及以上的所有行。
有谁知道可能导致这种情况的原因是什么?或者任何想法我们如何更详细地识别问题?
答案 0 :(得分:2)
在出现各种滚动问题之后,我得出结论,在firemonkey中滚动组件存在初始化问题,这表现在狡猾的滚动行为中。有时它会起作用,有时它不会......
在认为我多次修复问题后,只是为了观察问题在后续编译(或不同的操作系统)上重新出现,我在添加所有子组件后调用组件的UpdateStyle方法取得了很大成功。即自添加呼叫后问题没有重新出现......
E.g。以下伪代码填充滚动组件然后调用UpdateStyle,这似乎迫使组件“修复”各种属性的无效设置 - Min,Max等。
for i := 1 to x do
MyScrollComponent.AddObject(MyObject[i]);
MyScrollComponent.UpdateStyle;
希望这也适合你......