mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 02:59:13 +02:00
* Add TNoRefCountObject (delphi compatibility)
This commit is contained in:
parent
d24eeffa2b
commit
b8738944ed
@ -1165,6 +1165,33 @@
|
|||||||
result:=longint(E_NOINTERFACE);
|
result:=longint(E_NOINTERFACE);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{****************************************************************************
|
||||||
|
TNoRefCountObject
|
||||||
|
****************************************************************************}
|
||||||
|
|
||||||
|
function TNoRefCountObject.QueryInterface( {$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} iid : tguid;out obj) : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||||
|
|
||||||
|
begin
|
||||||
|
if getinterface(iid,obj) then
|
||||||
|
result:=S_OK
|
||||||
|
else
|
||||||
|
result:=longint(E_NOINTERFACE);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TNoRefCountObject._AddRef : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:=-1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TNoRefCountObject._Release : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:=-1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{****************************************************************************
|
{****************************************************************************
|
||||||
TCustomAttribute
|
TCustomAttribute
|
||||||
****************************************************************************}
|
****************************************************************************}
|
||||||
|
@ -334,6 +334,14 @@
|
|||||||
function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} iid : tguid;out obj) : longint;virtual; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} iid : tguid;out obj) : longint;virtual; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TNoRefCountObject = class(TObject, IInterface)
|
||||||
|
protected
|
||||||
|
function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} iid : tguid;out obj) : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||||
|
function _AddRef : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||||
|
function _Release : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ some pointer definitions }
|
{ some pointer definitions }
|
||||||
PUnknown = ^IUnknown;
|
PUnknown = ^IUnknown;
|
||||||
PPUnknown = ^PUnknown;
|
PPUnknown = ^PUnknown;
|
||||||
|
Loading…
Reference in New Issue
Block a user