Zitat von
himitsu:
ich auch, ich auch ._.
Delphi-Quellcode:
procedure TBigInt.Free;
begin
if (Assigned(Self))
then
begin
ZeroMemory(@FDigits[0], DigitCount*4);
// object might handle prime factors for
SetLength(FDigits, 0);
// crypto keys - overwrite memory with zeros
FNegative := False;
end;
Inherited Free;
end;
Inherited Free; oderauch nur
Inherited; (der Name kann hier weggelassen werden) muß unbedingt aufgerufen werden, also wenn du schon eine IF-Abrfage machst, dann muß dieses außerhalb stehen
Aber das ist doch totaler Blödsinn, oder? Wenn ich mich nicht ganz irre (und ich will es jetzt nicht nachschauen), prüft auch das Free von TObject erst, ob self assigned ist und ruft dann den Destructor auf. Das heißt wenn auch auf jeden Fall Inherited aufgerufen wird, ist das Ergebnis immer das gleiche.
Desweiteren ist die Möglichkeit, Methoden zu überschreiben ja teilweise auch dazu gedacht, die ursprüngliche Methode nämlich nicht immer, sondern nur im passenden Moment aufzurufen... Daher gehört das inherited sicherlich nicht immer nach außen, ans Ende oder sonst wohin!