我在使用 freepascal 的示例项目中遇到了运行时错误,涉及到转换 tform 和使用虚拟方法

问题描述 投票:0回答:1

此示例使用2种形式
1 基本形式(TFORM)
2 TF1(BaseForm)继承

BaseForm 有程序

Procedure whenDeleteRec(dataset:tdataset) virtual;Abstract

TF1

Procedure whenDeletedRec(dataset:tdataset); override;

现在在主窗体中 当我执行

baseform (p).WhenDeletedRec(dataset) 
时,其中
p
是指向
tf1
的指针,我收到了运行时错误。

问候
医学

casting overriding virtual abstract freepascal
1个回答
0
投票

您提供的信息很少。根据您提供的信息,我会说您将指向表单的指针转换为表单

首先尝试取消引用指针:

baseform(p^).whendeletedrec(dataset);
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.