首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TActionClientItem到TAction

TActionClientItem到TAction
EN

Stack Overflow用户
提问于 2022-08-10 19:49:31
回答 2查看 88关注 0票数 0

我正在尝试在运行时创建一个TAction并在TActionClientItem中插入,但是它在运行时给了我一个错误(无效的类类型广播)。

我用这种方式:

代码语言:javascript
复制
function TFunctions.AddMenuItem(aciParent: TActionClientItem): integer;
var
  ClientItem: TActionClientItem;
  ActionToAdd: TAction;
begin
  ClientItem:= aciParent.items.add;
  ClientItem.Action := ActionToAdd; // <- error
  //
end;
EN

回答 2

Stack Overflow用户

发布于 2022-08-11 12:01:07

应将上面的代码块标记为代码,以便正确格式化(或至少作为预先格式化的代码块)。“开始”声明在哪里?在具有局部变量声明( ClientItem和ActionToAdd)的var块之后,应该有一个"begin“语句,然后是命令式命令,然后有"end”语句来关闭函数声明。

如果缺少"begin“,则错误发生在解析阶段,但我希望它位于ClientItem:= aciParent.items.add;(在:=点)

显然,在"end“之前,还应该分配”结果“变量,或者如果需要函数中的多个退出点,也可以返回将其作为参数传递给" exit”语句的结果。如果不需要结果,则使用过程而不是函数

票数 0
EN

Stack Overflow用户

发布于 2022-08-16 12:22:12

您在注释中提到您的代码驻留在DLL中。DLLs有自己的VCL副本,与可执行文件中的不同,来自不同VCL实例的混合对象不起作用。您应该改用套餐。这些都是为处理这些问题而建的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73311964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档