相关疑难解决方法(0)

如何在Delphi中将接口转换为对象

在delphi 2009中,我引用了一个IInterface我想要转换为底层的东西TObject

使用TObject(IInterface)显然在Delphi 2009中不起作用(它应该在Delphi 2010中工作)

我的搜索引导我找到一个应该做的技巧,但它对我不起作用,当我尝试在返回的对象上调用方法时,我得到了AV.

我无法真正修改类,我知道这打破了OOP

delphi pascal casting interface delphi-2009

13
推荐指数
2
解决办法
1万
查看次数

Delphi:在Variants数组中传递TObject

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

MyProcedure (const AValue : TObject);
Run Code Online (Sandbox Code Playgroud)

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

  for i:=0 to High(myArray) do
    MyProcedure (myArray[i]);
Run Code Online (Sandbox Code Playgroud)

编译器给出错误说:"不兼容的类型:TObject和Variant".

我该怎么做才能解决这个问题?

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

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

delphi variant tobject

3
推荐指数
1
解决办法
5754
查看次数

标签 统计

delphi ×2

casting ×1

delphi-2009 ×1

interface ×1

pascal ×1

tobject ×1

variant ×1