mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-14 20:39:34 +02:00
* Make IInterface methods virtual, as in Delphi
This commit is contained in:
parent
7e4aca384f
commit
54b8de47f0
@ -682,7 +682,9 @@ type
|
||||
fImpls: array of TMethodImplementation;
|
||||
fVmt: PCodePointer;
|
||||
protected
|
||||
function QueryInterface(constref aIID: TGuid; out aObj): LongInt;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||
function QueryInterface(constref aIID: TGuid; out aObj): LongInt;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; reintroduce; virtual;
|
||||
function _AddRef : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; reintroduce; virtual;
|
||||
function _Release : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; reintroduce; virtual;
|
||||
|
||||
procedure HandleUserCallback(aUserData: Pointer; const aArgs: TValueArray; out aResult: TValue);
|
||||
public
|
||||
@ -6128,6 +6130,16 @@ begin
|
||||
Result := inherited QueryInterface(aIID, aObj);
|
||||
end;
|
||||
|
||||
function TVirtualInterface._AddRef : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||
begin
|
||||
Result:=Inherited _AddRef;
|
||||
end;
|
||||
|
||||
function TVirtualInterface._Release : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
|
||||
begin
|
||||
Result:=Inherited _Release;
|
||||
end;
|
||||
|
||||
procedure TVirtualInterface.HandleUserCallback(aUserData: Pointer; const aArgs: TValueArray; out aResult: TValue);
|
||||
begin
|
||||
{$IFDEF DEBUG_VIRTINTF}Writeln('Call for ', TRttiMethod(aUserData).Name);{$ENDIF}
|
||||
|
Loading…
Reference in New Issue
Block a user