Delphi 5 将类型转换为评估类型导致无效类型转换错误
Delphi 5 cast type to evaluated type causes Invalid typecast error
我需要将 Variant
转换为 TNotifyEvent
,但不能。
如图所示,我使用 GetPropValue
得到 TMenuItem
的 OnClick
属性。我必须将其与另一个 TNotifyEvent
进行比较,因此我也必须将其转换为 TNotifyEvent
.
在运行时,这始终是 TNotifyEvent
的类型,但是当我尝试将其转换为 TNotifyEvent
时,代码无法编译。
我怎样才能让它发挥作用?不幸的是,我只有 Delphi 版本 5,因此 RTTI 功能有限。
您调用了错误的方法。您需要 GetMethodProp
而不是 GetPropValue
。像这样:
TNotifyEvent(GetMethodProp(MenuItem, 'OnClick'));
我需要将 Variant
转换为 TNotifyEvent
,但不能。
如图所示,我使用 GetPropValue
得到 TMenuItem
的 OnClick
属性。我必须将其与另一个 TNotifyEvent
进行比较,因此我也必须将其转换为 TNotifyEvent
.
在运行时,这始终是 TNotifyEvent
的类型,但是当我尝试将其转换为 TNotifyEvent
时,代码无法编译。
我怎样才能让它发挥作用?不幸的是,我只有 Delphi 版本 5,因此 RTTI 功能有限。
您调用了错误的方法。您需要 GetMethodProp
而不是 GetPropValue
。像这样:
TNotifyEvent(GetMethodProp(MenuItem, 'OnClick'));