Delphi 控制'';没有父窗口:为什么控件没有命名?

Delphi 控制'';没有父窗口:为什么控件没有命名?,delphi,controls,Delphi,Controls,我的任务是支持一个用Delphi编写的应用程序,该应用程序偶尔会出现错误消息“Control“”没有父窗口” 我的问题不是理解为什么会发生错误,而是理解为什么控件没有指定名称 控件似乎缺少名称是控件编码方式的一种功能(即控件可以有名称,但它们是可选的),还是因为控件的名称是从(不存在的)父控件继承的 我的问题不是理解为什么会发生错误,而是理解为什么控件没有指定名称 与设计时相反,在运行时创建的控件不需要有名称。因此,这个控件没有名字,因为程序员创建它时没有命名,或者它是由另一个控件内部创建的控件

我的任务是支持一个用Delphi编写的应用程序,该应用程序偶尔会出现错误消息“Control“”没有父窗口”

我的问题不是理解为什么会发生错误,而是理解为什么控件没有指定名称

控件似乎缺少名称是控件编码方式的一种功能(即控件可以有名称,但它们是可选的),还是因为控件的名称是从(不存在的)父控件继承的

我的问题不是理解为什么会发生错误,而是理解为什么控件没有指定名称

与设计时相反,在运行时创建的控件不需要有名称。因此,这个控件没有名字,因为程序员创建它时没有命名,或者它是由另一个控件内部创建的控件,没有命名


控件不命名是完全正常的。对于复杂的应用程序来说,不引用控件名是完全合理的

原因有多种,包括但不限于:

1) 代码中没有给出它的名字。
2) 它不会为任何调用它的函数继承名称

是的,控件名称是可选的,但是在设计时创建的控件始终具有指定的名称,该名称在DFM流传输期间使用。所讨论的控件是在运行时在代码中创建的,或者错误发生在从DFM读取控件名称之前。如果不看到实际失败的代码,就无法回答这个问题。正如Remy所说,这需要代码和dfm来检查。此外,最好把你的问题隔离开来,这样你就可以自信地重现它。一旦你做到这一点,修复它可能会很容易。可能相关:也可能重复注意框架在运行时创建的控件,例如就地编辑…JFTR,即使在设计时,也不要求控件具有名称。在构造函数调用链中不适当的过早初始化期间发生的错误也可能会在流媒体系统应用Name属性之前触发窗口错误。感谢您的响应。我的挑战是,我需要找出哪个应用程序函数在没有编程知识、无法访问源代码和日志的情况下抛出此错误,而这些都不能告诉我应用程序正在做什么。。。只有未命名控件没有父控件。我希望我可以用“给你的控制权&^$%#%names”来回答,但似乎事情并不像那样简单。我刚刚回答了你提出的问题。你很清楚你的问题是什么,我在回答中引用了这一点。控件不继承名称,“对于任何调用它的函数”都是非序列。我没有意识到这是一种改变。下辈子我会努力把英语作为我的第一语言。在技术领域,尤其是书面形式,术语的精确性至关重要。这就是我们作为程序员所做的事情的本质。