Я получил собственный COM ADOConnection, который хранится в Variant. Я хотел бы передать интерфейс этого соединения в оболочку VCL-оболочки TADOConnection. Проблема в том, что либо я получаю недопустимое сообщение компилятора typecast или нарушение доступа.Как передать вариант в TADOConnection.ConnectionObject?
Например:
procedure AssignNativeConnection(VCLConnection: TADOConnection; var NativeConnection: Variant);
var
VariantManager: TVariantManager;
AInterface: IInterface;
begin
AInterface := VCLConnection.ConnectionObject;
VariantManager.VarToIntf(AInterface, NativeConnection); //oops AV here!
end;
Любые идеи, как решить эту проблему? Я использую Delphi 2007.
Заранее спасибо.
Спасибо lot Stijn! Он работает отлично. Вы также можете использовать его без * как *: _Connection ((IUnknown (NativeConnection)). Тайна для меня - это то, почему VarToIntf() дает мне AV ... – Wodzu