Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Objekt soll Referenz auf sich zurückliefern

  Alt 22. Nov 2006, 18:32
Code:
function TQuadrat.getroffen (pHPosition: real; pVPosition: real) : TFigur;
begin
   if ((pHPosition > self.gibHPosition) AND (pHPosition < self.gibHPosition+zGroesse)
        AND (pVPosition > self.gibVPosition) AND (pVPosition < self.gibVPosition+zGroesse)) then
   // dies ist die Figur
   begin
     hatStift.zeichneRechteck(10,10);
     result := Self;
   end
   else
     begin
       if (kenntNachfolger <> NIL) then
       begin
         result := kenntNachfolger.getroffen(pHPosition,pVPosition); // <--------
       end
       else result := NIL;
     end
end;
Ich vermute, dass kenntNachfolger vom Typ TFigur ist, und die "getroffen"-Methode eines weiteren Objektes aufrufen soll, soweit hinterlegt. Du musst dabei dann natürlich auch das result "durchreichen", ähnlich wie bei einer Rekursion. Das Vorgehen ist auch so halb rekursiv - es wird ja immer die gleiche Methode aufgerufen, bis eine Abbruchbedingung (in dem Fall eine von zweien) erfüllt ist. Nur dass die Methoden jeweils zu unterschiedlichen Instanzen gehören, und lediglich Namen und Signatur teilen. (Sowas bastel ich auch immer gern in der Art )

\\edit: No red box, jamjam =)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat