Einzelnen Beitrag anzeigen

shmia

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

Re: Korrekte virtuelle Methode(n) in abgel. Klasse aufrufen?

  Alt 24. Nov 2009, 18:58
Die Methode Call sollte so aussehen:
Delphi-Quellcode:
procedure TCallerClass.Call;
var index: Integer;
  x : TMyBaseClass; // Hilfsvariable
begin
  //Annahme: Es seien mehrere Komponenten im Projekt enthalten.
  REPEAT
  self.DoIt; //self nur zur Verdeutlichung. Ich weiß, das der self Parameter hier weggelassen wird
  for Index:=0 to self.ComponentCount-1 do
  begin
    x := Components[Index] as TMyBaseClass;
    if Assigned(x) then
      x.DoIt;
  end;
  UNTIL endebedingung; //Pseudocode
end;
Die Hilfsvariable x ist vom Datentyp der Klasse, in der du die virtuelle Methode DoIt() eingeführt hast.
Achja: die Hilfsvariable erleichtet uns das Leben, denn man braucht nur einmal zu Casten und
hat dann auch im Debugger den Vorteil mehr zu sehen als ohne die Hilfsvariable.
Andreas
  Mit Zitat antworten Zitat