1

正如标题所述,我在使用 DELPHI XE6 for IOS 时遇到了一些奇怪的 GUI 内容。在我的登录框中 - 我有一个 TRectangle,每边都有两个 TRoundRect。我想这是我创建具有圆形边缘而不是完全方形的按钮/容器的懒惰方式。如果你看下面的图片:

在此处输入图像描述

您可以看到每个 RoundRect 的轮廓。填充应该是白色的,最初是。每当我打开一个表单-然后关闭该表单以返回此表单-RoundRects.Fill 都转到':= null'。如果你能看到,我有另一个 TRectangle + RoundRects 用于位于它正上方的另一个容器。(两个矩形具有相同的父级,即一个布局)。蓝色容器的圆形矩形不会为空。由于两个容器之间的行为不一致,不确定从哪里开始调试。任何有关如何解决此问题的指导或指导将不胜感激!

另外,我想关键注意事项:每当roundRects变为null时,如果将焦点放在任何控件(TEdit,按钮等)上,则roundRects会自行纠正并返回白色。

4

1 回答 1

3

您确定它们被设置为 null (您检查过值吗?)或者效果只是无法渲染?

如果您确定该值正在更改为 null,那么实际上调试起来非常简单:

  • 运行程序并在已知良好的位置设置断点(该值应为该位置)
  • 用于ALT-F5评估填充的值。它应该显示内存中的地址。复制这个地址。
  • 在调试器的 Breakpoints 面板中,单击 Add Breakpoint 按钮上的下拉箭头,然后添加一个 Data Breakpoint
  • 将地址设置为您从Alt-F5评估员那里复制的地址。
  • 您现在有一个断点,当该值在内存中更改时会中断,而不是在特定的代码行。这将引导您找到需要查看的代码,无论是在它中断的地方还是从它的调用堆栈中下来。
于 2014-05-20T21:05:19.977 回答