【发布时间】:2010-11-09 17:20:35
【问题描述】:
我有一个 TForm (TVehicleEditForm),里面有 3 个相同的 TFrames (TVehicleUnitFrame)。
这个想法是框架的每个实例都通过框架内的eventhandler 处理自己的事件。问题是 eventhandler 没有被调用。
我试图通过覆盖 Create 方法在框架内通过代码分配eventhandler,但在这种情况下也不会调用处理程序。
但是,如果我将 eventhandler 从表单分配到框架之外,它就可以正常工作。
像这样:
fraVehicleUnitFrame1.cmdNewOwner.OnClick := fraVehicleUnitFrame1.cmdNewOwnerClick;
fraVehicleUnitFrame2.cmdNewOwner.OnClick := fraVehicleUnitFrame2.cmdNewOwnerClick;
fraVehicleUnitFrame3.cmdNewOwner.OnClick := fraVehicleUnitFrame3.cmdNewOwnerClick;
这只是一个按钮! 由于框架内有许多组件,这将导致许多分配... 当这应该直接在对象检查器中完成时,代码相当难看。
我正在使用 D2007。知道原因吗?
问候罗兰
【问题讨论】:
标签: delphi event-handling delphi-2007 tframe