问题标签 [tframe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
108 浏览

delphi - 继承的框架 - 缺少属性

我有一个项目,它由许多不同的框架组成。其中一些框架是相互继承的。这是基本设置:

  • TBaseFrame
    • TFrame1
      • TFrame1A
      • TFrame1B
    • TFrame2
      • TFrame2A

...等等。

一切都很好,花花公子。我已经能够整天用这个设置编译和运行我的项目。但是,在某些时候,它开始完全失败并崩溃。

在应用程序启动时,在主屏幕显示后不久,我收到此错误:

错误信息1

奇怪的是,我的应用程序中还没有创建或使用任何这些框架——这些框架位于一个仅在登录后才显式创建的表单上(我确认它不是自动创建的)。

按 OK 后,我的应用程序将终止,然后显示此错误:

错误信息 2

经过一番挖掘,我在 IDE 中发现了一些非常奇怪的东西。我关闭了 Delphi 并重新打开它,我仍然看到这种差异。

在基础框架 ( TBaseFrame) 上,它不显示任何ClientWidthClientHeight属性:

基础框架属性

但是继承的框架 ( TFrame1) 会:

继承的框架属性

似乎继承的框架被视为一种形式,尤其是在Caption那里看到不应该属于的属性。

为什么会发生这种情况,我该如何解决?

编辑

要添加,当我进入我的项目选项时,它让我可以添加许多框架以自动创建,这应该是不可能的。事实上,其中一个框架(最近创建的)已经设置为自动创建。但它是一个框架,而不是一个形式。

编辑 2

在从项目的自动创建中找到并删除 1 框架,以及删除另一个(不相关的)具有类名冲突的框架并将其重新添加到项目中之后,现在我至少可以编译项目并运行它。然而,仍然有许多框架看起来好像它们是形式。