如何才能获得组件的属性以保持零?

时间:2016-05-16 20:47:12

标签: delphi delphi-10-seattle

我的表单上有一个组件(TPushEvents)。我已明确从其中一个属性(Provider)中删除了该值。

我已保存并将其检入源代码管理中。我可以看到该属性确实已从fmx文件中删除。这是我清空属性并保存表单后条目的样子:

object PushEvents1: TPushEvents
  Left = 128
  Top = 200
end

如果我关闭项目并重新打开它,则会重新添加该属性并将其重置为默认值(它指向它可以在该项目上找到的第一个T*Provider组件。表格 - 在我的情况下是TKinveyProvider)。在发布模式下构建时,这会让我感到各种悲痛。这是我重新打开项目后条目的样子,保存表格:

object PushEvents1: TPushEvents
  Provider = KinveyProvider1
  Left = 128
  Top = 200
end

确实保存它,我可以看到该属性已经返回到fmx文件。

nil中将属性设置为FormCreate并不合适,因为TPushEvents在触发TKinveyProvider之前开始访问FormCreate

重新加载项目时如何保留TPushEvents.Provider属性nil

在我理想的世界中,我能够输入一个常量,允许它将属性保存在fmx文件中,但仍然表明它没有指向任何东西。

1 个答案:

答案 0 :(得分:0)

我发现了一个不太理想的解决方案。

如果我将TPushEvents组件的整个创建移动到FormCreate,那么我不必担心组件被修复"当我重新打开我的项目时,由RAD Studio提供。

如果我遵循产品的明显理念(删除表单上的组件而不是在代码中创建它们),那么它的理解就不那么理想了,那么这肯定会超出该模型。