Delphi中,如何将Variants数组传递TObject,实现长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计374个文字,预计阅读时间需要2分钟。
我有这样一个程序,需要传入一个TObject类型的参数,如下所示:+MyProcedure(const AValue: TObject);我有一个Variant数组,我正在循环调用该过程,如下所示:for i:=0 to High(myArray) do MyProcedure(myArray[i]);编译
我有一个程序,需要一个TObject类型的参数,如下所示:MyProcedure (const AValue : TObject);
我有一个Variant数组,我正在循环调用该过程,如下所示:
for i:=0 to High(myArray) do MyProcedure (myArray[i]);
编译器给出错误说:“不兼容的类型:TObject和Variant”.
我该怎么做才能解决这个问题?
更多信息:到目前为止,我一直在变量数组中传递简单类型(字符串,数字,日期)(数组通常是不同类型的混合 – 我最终将它们作为参数传递给数据库存储过程).现在我还需要(在某些情况下)传递一个TObject.
传递值的最合适的数据类型/结构是什么,它可以包含简单类型和对象?我想我可以创建自己的TParam类型,它有两个字段,但我不确定确切的语法.有人有这方面的例子吗?
Variant不能保存对象,它只能包含整数和字符串等基本类型.我建议将您的阵列更改为您想要的类型而不是变体.如果您不确定所需的对象类型,则创建一个TObject数组或数组将保存的对象的最低基类.
本文共计374个文字,预计阅读时间需要2分钟。
我有这样一个程序,需要传入一个TObject类型的参数,如下所示:+MyProcedure(const AValue: TObject);我有一个Variant数组,我正在循环调用该过程,如下所示:for i:=0 to High(myArray) do MyProcedure(myArray[i]);编译
我有一个程序,需要一个TObject类型的参数,如下所示:MyProcedure (const AValue : TObject);
我有一个Variant数组,我正在循环调用该过程,如下所示:
for i:=0 to High(myArray) do MyProcedure (myArray[i]);
编译器给出错误说:“不兼容的类型:TObject和Variant”.
我该怎么做才能解决这个问题?
更多信息:到目前为止,我一直在变量数组中传递简单类型(字符串,数字,日期)(数组通常是不同类型的混合 – 我最终将它们作为参数传递给数据库存储过程).现在我还需要(在某些情况下)传递一个TObject.
传递值的最合适的数据类型/结构是什么,它可以包含简单类型和对象?我想我可以创建自己的TParam类型,它有两个字段,但我不确定确切的语法.有人有这方面的例子吗?
Variant不能保存对象,它只能包含整数和字符串等基本类型.我建议将您的阵列更改为您想要的类型而不是变体.如果您不确定所需的对象类型,则创建一个TObject数组或数组将保存的对象的最低基类.

