Einzelnen Beitrag anzeigen

pingun

Registriert seit: 22. Nov 2006
6 Beiträge
 
#1

Objekt soll Referenz auf sich zurückliefern

  Alt 22. Nov 2006, 17:59
Hallo,
ich habe ein Problem und komme nicht weiter.

Ein Objekt soll die Referenz auf sich als Resultat zurückliefern.
Also nach dem Motto. Wenn du getroffen bist, dann liefere dich selbst zurück.
Im aufrufenden Programm kann dann die aktiveFigur auf die getroffene Figur
gesetzt werden.

Wie kann "das Objekt sich selbst zurückliefern?"

Hier der Programmcode einer Methode eines Qbjektes (result := self
funktioniert nicht!):

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
         kenntNachfolger.getroffen(pHPosition,pVPosition);
       end
       else result := NIL;
     end
end;
Aufrufen will ich es:
Code:
    aktiveFigur.deaktiviere;
      // checken, welches Quadrat getroffen wurde
      aktiveFigur := meineFiguren.getroffen(dieMaus.hPosition,dieMaus.vPosition);
      aktiveFigur.aktiviere;
Für Hilfe wäre ich sehr dankbar.
Gruss
Gunnar
  Mit Zitat antworten Zitat