методу _Release нельзя сделать
override не потому, что он
stdcall, а потому, что он не виртуальный.
В Вашем случае надо делать так
Код:
type
TMyClass = class(TInterfacedObject,// или как там у Вас
IUnknown, // обязательно
IInterface1,
IInterface2,
...
IInterfacen)
protected // обязательно обьявить эти три процедуры
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
... // далее по тексту
end;
// и в блоке implementation
function TMyClass .QueryInterface(const IID: TGUID; out Obj): HResult;
begin
Result := inherited QueryInterface(IID,Obj);
end;
function TMyClass ._AddRef: Integer;
begin
Result := inherited _AddRef;
end;
function TMyClass ._Release: Integer;
begin
// здесь делаем дополнительные проверки
Result := inherited _Release
end;