有没有一种方法可以在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.