delphi – Firemonkey ScrollBox Bug

前端之家收集整理的这篇文章主要介绍了delphi – Firemonkey ScrollBox Bug前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在经历在Firemonkey的ScrollBox组件中似乎是一个奇怪的错误(因为TGrid继承自TScrollBox它也影响所有网格)。在我们的开发机器上,一切工作正常,而在其他人的错误发生。我们未能检测到系统之间的任何模式(我们检查操作系统,图形硬件,DirectX版本)。

再生产:

>创建一个新的FireMonkey应用程序。在表单上放置一个TScrollBox
>向滚动框添加按钮,并将其垂直位置设置为500000。
>启动应用程序,并检查当滚动到滚动框的末尾时是否显示按钮。

如果发生错误,该按钮不可见。

当使用网格时,这将导致正确显示行1-19047,并且不显示19047及以上的所有行。

有任何人有任何想法,可能是什么导致这?或任何想法如何我们可以更详细地识别问题?

解决方法

在遇到各种各样的滚动问题后,我得出结论,在firemonkey中滚动组件有一个初始化问题,它表现在狡猾的滚动行为。有时它会工作,有时它不会…

之后,我认为我修复了这个问题几次,只有观察问题重新出现在后续的编译(或不同的操作系统),我已经在添加所有子组件后调用组件的UpdateStyle方法取得了很大的成功。也就是说该问题尚未重新出现,因为添加了呼叫…

例如。以下伪代码填充滚动组件,然后调用UpdateStyle,这似乎迫使组件“修复”各种属性的无效设置 – 最小,最大等。

for i := 1 to x do
  MyScrollComponent.AddObject(MyObject[i]);
MyScrollComponent.UpdateStyle;

希望这也为你工作…

猜你在找的Delphi相关文章