Wartet mal, bleiben wir beim Ausgangsproblem, beim Abstrakten.
Denn dieses angeführte Beispiel funktioniert bei mir unter Turbo Delphi Explorer.
Ich habs so gemacht:
Delphi-Quellcode:
var
B: TBasisKlasse;
begin
B := TAbgeleiteteKlasse.Create;
try
B.Variable := False;
if B.TestVariable then Writeln('Testvariable #1');
// TAbgeleiteteKlasse(B).ModifiziereVariable;
(B as TAbgeleiteteKlasse).ModifiziereVariable;
if B.TestVariable then Writeln('Testvariable #2');
finally
B.Free;
Readln;
end;
end.
Das zweite Writeln klappt. Also klappt das Ändern der Variable per ModifiziereVariable!