Firemonkey ScrollBox Bug

我们正在体验Firemonkey的ScrollBox组件中的一个奇怪的错误(因为TGridTScrollBox继承,它也会影响所有网格)。 在我们的开发机器上,一切正常,而另一些则发生错误。 我们未能检测到系统之间的任何模式(我们检查了操作系统,图形硬件,DirectX版本)。

再生产:

  • 创建一个新的FireMonkey应用程序。 在窗体上放置一个TScrollBox
  • 将一个按钮添加到滚动框并将其垂直位置设置为500000。
  • 启动应用程序并检查滚动到滚动框结尾时是否显示按钮。
  • 如果发生错误,该按钮不可见。

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

    有没有人有任何想法可能造成这种情况? 或者有什么想法,我们如何更详细地确定问题?


    在滚动出现各种问题之后,我得出结论:在firemonkey中有一个滚动组件的初始化问题,它表现为不友好的滚动行为。 有时它会起作用,有时它不会......

    在考虑过多次修复问题之后,只有在后续编译(或不同的操作系统)上重新出现问题时,在添加所有子组件之后,我已经成功地调用了组件的UpdateStyle方法。 也就是说,自从添加电话以来,问题并未再次出现......

    例如下面的伪代码填充滚动组件,然后调用UpdateStyle,这似乎强制组件修复各种属性的无效设置 - 最小值,最大值等。

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

    希望这也适用于你...

    链接地址: http://www.djcxy.com/p/60467.html

    上一篇: Firemonkey ScrollBox Bug

    下一篇: Firemonkey and large amounts of data