Also jetzt brauch ich doch noch mal eine genauere Erklärung.
Ich habe es gerade getestet und ich kann auf einem const Argument alles aufrufen und es auch durch nicht konstante Methoden verändern. Was heißt hier const?
Delphi-Quellcode:
type
Test = class
private
x : Integer;
public
constructor Create;
procedure Konstant();
procedure NichtKonstant();
end;
{ Test }
constructor Test.Create;
begin
x := 1;
end;
procedure Test.Konstant;
begin
WriteLn(IntToStr(x));
end;
procedure Test.NichtKonstant;
begin
x := x * 2;
end;
procedure Foo(const t : Test);
begin
t.Konstant;
t.NichtKonstant;
t.Konstant;
end;
var
Tester : Test;
begin
Tester := Test.Create;
Foo(Tester);
Tester.Free;
ReadLn;
end.