【发布时间】:2011-02-15 19:48:38
【问题描述】:
有没有办法在 OleVariant 中传递一个包装和展开一个 TObject 后代?我正在尝试跨自动化对象传递 TObject。我知道这不是一个好主意,但我没有好的选择。
对象将在来自同一个自动化 dll 的对象之间传递,如果这有什么不同的话。
类似这样的:
function GetMyObjAsVariant;
var
MyObj: TMyObj;
begin
MyObj := TMyObj.Create;
result := OleVariant(MyObj);
end;
客户将使用它作为
var
MyObj: TMyObj;
begin
MyObj := GetMyObjAsVariant as TMyObj;
end;
编译失败,返回
E2015 Operator not applicable to this operand type.
【问题讨论】: