我有一个名为TVehicleEditForm的TForm,里面包含了3个完全相同的TVehicleUnitFrame组件。
我的想法是每个TVehicleUnitFrame实例都通过组件内部的eventhandler来处理自己的事件。但问题在于,这个eventhandler并没有被调用。
我曾试图通过覆盖Create方法,在组件内部通过代码分配eventhandler,但即使这样,handler也不会被调用。
但如果我在form外部为组件分配eventhandler,那么它就能正常工作。像这样:
fraVehicleUnitFrame1.cmdNewOwner.OnClick := fraVehicleUnitFrame1.cmdNewOwnerClick;
fraVehicleUnitFrame2.cmdNewOwner.OnClick := fraVehicleUnitFrame2.cmdNewOwnerClick;
fraVehicleUnitFrame3.cmdNewOwner.OnClick := fraVehicleUnitFrame3.cmdNewOwnerClick;
而这只是针对一个按钮!由于我的框架内有许多组件,这将导致许多赋值操作... 当应该在对象检查器中直接完成时,代码看起来相当丑陋。
我正在使用D2007。 有任何想法是什么原因吗?
问候 Roland