【发布时间】:2016-09-01 11:16:05
【问题描述】:
是否有一些用of object 子句声明的 Delphi 委托的共同祖先?
我需要为 TNotifyEvent 和我的自定义委托找到一个共同的祖先:
TMyEvent = procedure(Sender: TObject; msg: stringh); of object;
为触发这些事件制定通用方法。
我应该使用指针吗?还是 TObject?
【问题讨论】:
-
你能举个例子来说明你正在尝试做什么。现在看起来你好像在尝试通过调用方法而不提供所有需要的参数来打自己的脚。
-
我认为您错误地假设
procedure(sender: TObject) of object和procedure(Sender: TObject; xyz: TSomehting) of object在某种程度上兼容。他们不是!除非您在调用时具有正确的签名,否则您将传递以失败结尾的错误参数。 -
我很想提出一个使用泛型的解决方案。但是我没有足够的信息来制定完整的答案。您是否要创建一个
TList<TEvent>,然后您可以拨打它;那是你想要做的吗?如果是这样,我对这个问题有一个简单的答案。 -
如果您想提出不同的问题,请这样做。我回到了第一个问题。
-
对不起@Paul,DH 有意见;将问题更改为给出的答案不再有意义是不好的形式。最好将更新后的 Q 复制粘贴到新 Q 中。