可以将组件及其事件处理程序复制到新窗体或框架的 Delphi 6 实用程序或 IDE 专家?
Posted
技术标签:
【中文标题】可以将组件及其事件处理程序复制到新窗体或框架的 Delphi 6 实用程序或 IDE 专家?【英文标题】:Utility or IDE Expert for Delphi 6 that can copy a component and its event handlers to a new Form or Frame? 【发布时间】:2012-01-28 19:40:12 【问题描述】:VCL 的一个常见情况是构建一个组件,然后用驻留在宿主 Frame 或 Form 中的代码填充其事件处理程序(如果组件具有事件)。 Delphi 6 IDE 能够非常方便地将组件从其宿主 Frame 或 Form 剪切并粘贴到新的 Frame 或 Form 中。但是驻留在源 Frame 或 Form 上的事件处理程序中的代码不会随之复制。
是否有人见过 Delphi 6 的实用程序或 IDE 专家,它也可以复制事件处理程序代码,同时复制目标 PAS 文件中的事件声明并正确更新目标 DFM 文件?
【问题讨论】:
这是一个很好的问题。我经常想写一个,因为我从来没有找到一个可以处理我的实际应用程序。 【参考方案1】:我不知道有任何专家会抓取 EventHandlers 代码并将其复制到另一个主机上下文中。 请记住,代码的简单复制和粘贴可能不起作用,因为它位于不同的范围内,可用的属性和例程不一定相同。 如果您需要在主机之间共享处理程序,我建议您将代码放在一个公共单元中并从主机调用它。 或者你可以有一个基本的 Form 或 Frame 并从它继承......
【讨论】:
窗体和框架继承对我来说都非常成问题,因此我已在新应用程序或应用程序的新领域中尽可能改用没有任何继承的纯“组合”方法。 @WarrenP。回复:表单/框架继承。同意。 IDE 的菊花链事件处理程序调用从框架的新实例返回到继承的或源框架的方法充满了微妙的问题,以至于我现在避免框架继承,并且永远不会将新的事件处理程序代码添加到框架的具体实例,如果属于源实例的组件已经拥有它们。不幸的是,这是一种“按惯例保护”,而不是通过代码技术使其容易出错。以上是关于可以将组件及其事件处理程序复制到新窗体或框架的 Delphi 6 实用程序或 IDE 专家?的主要内容,如果未能解决你的问题,请参考以下文章