有没有办法在 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.