Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Interface referenzen auf gleichheit prüfen?

  Alt 11. Okt 2004, 13:00
Du könntest ein weiteres Interface einführen:
Delphi-Quellcode:
ICompareRef = interface
    function GetCookie:Integer;
  end;
Alle Klassen sollten dann dieses Interface implementieren:
Delphi-Quellcode:
  TA= class(TInterfacedObject,iA, ICompareRef)
  private
     FCookie : Integer;
  protected
    function GetCookie:Integer;
  public
    constructor Create;
    procedure A;
    
  end;

function TA.GetCookie:Integer;
begin
   Result := FCookie;
end;

constructor TA.Create;
begin
   // GlobalCookieCounter ist eine globale Variable
   // sie beim Erzeugen eines Objekte um 1 hochgezählt
   FCookie := InterlockedIncrement(GlobalCookieCounter);
end;
Und so wird's benutzt
Delphi-Quellcode:
   if (fA as ICompareRef).GetCookie=(fB as ICompareRef).GetCookie then
      ShowMessage('die Dinger sind gleich');
Andreas
  Mit Zitat antworten Zitat