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.