Thema
:
Delphi
Abstrakter Vorfahr + Interface gemeinsam
Einzelnen Beitrag anzeigen
Fritzew
Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
Delphi 11 Alexandria
#
3
AW: Abstrakter Vorfahr + Interface gemeinsam
15. Dez 2021, 15:37
Etwas in die Richtung?
zusammenfalten
·
markieren
Delphi-Quellcode:
unit
Unit24;
interface
type
Tabstract =
class
protected
function
getint : integer;
virtual
;
abstract
;
end
;
IBaseInterface =
Interface
['
{3803EF76-0C39-4992-AD91-B2F7F6EED72E}
']
end
;
Tconcret =
class
(Tabstract, IBaseInterface)
private
FRefCount: Integer;
protected
function
getint: Integer;
override
;
public
function
QueryInterface(
const
IID: TGUID;
out
Obj): HRESULT;
stdcall
;
function
_AddRef: Integer;
stdcall
;
function
_Release: Integer;
stdcall
;
end
;
implementation
{ Tconcret }
function
Tconcret.getint: Integer;
begin
result := 0;
end
;
function
Tconcret.QueryInterface(
const
IID: TGUID;
out
Obj): HRESULT;
begin
if
GetInterface(IID, Obj)
then
Result := 0
else
Result := E_NOINTERFACE;
end
;
function
Tconcret._AddRef: Integer;
begin
AtomicIncrement(FRefCount)
end
;
function
Tconcret._Release: Integer;
begin
Result := AtomicDecrement(FRefCount);
if
Result = 0
then
begin
Destroy;
end
;
end
;
end
.
Fritz Westermann
Zitat
Fritzew
Öffentliches Profil ansehen
Mehr Beiträge von Fritzew finden