gpt4 book ai didi

Delphi:在变体数组中传递 TObject

转载 作者:行者123 更新时间:2023-12-03 15:40:53 26 4
gpt4 key购买 nike

我有一个过程需要 TObject 类型的参数,如下所示:

MyProcedure (const AValue : TObject);

我有一个 Variant 数组,我正在循环调用该过程,如下所示:

  for i:=0 to High(myArray) do
MyProcedure (myArray[i]);

编译器给出错误:“不兼容的类型:TObject 和 Variant”。

我能做些什么来解决这个问题?

更多信息:到目前为止,我一直在变体数组中传递简单类型(字符串、数字、日期)(这些数组通常是不同类型的混合 - 我最终通过它们作为数据库存储过程的参数)。现在我还需要(在某些情况下)传递一个 TObject。

传递值最合适的数据类型/结构是什么,可以容纳简单类型和对象?我想我可以创建自己的 TParam 类型,该类型具有两个字段,但我不确定确切的语法。有人有这方面的例子吗?

最佳答案

Variant 不能容纳对象,它只能包含基本类型,例如整数和字符串。

我建议将您的数组更改为您想要的类型而不是变体。如果您不确定所需的对象类型,则创建一个 TObject 数组或数组将保存的对象的最低可能基类​​。

关于Delphi:在变体数组中传递 TObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/751313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com