Und nun mal ohne with und benannte Instanz:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
shape := TShape.Create(self); //die aktuelle Instanz
shape.Parent := self; //hier auch
shape.Left := 0;
shape.Top := 0;
shape.Width := 100;
shape.Height := 50;
shape.Shape := stRoundRect;
shape.Name := 'Shape1';
shape.onClick := OnShapeKlick;
end;
Man sollte hier auch noch dazu sagen, dass
with sehr böse werden
kann. Man spart sich zwar Schreibarbeit, ist aber
imho einfach weniger präziser, als wenn man immer shape.[Property|Methode] verwendet. An diesem Beispiel sieht man auch warum, denn TForm1 hat auch eine OnClick-Methode. Klar, der Compiler wird hier immer erst nach dem with schauen, aber für andere könnte der Code weniger verständlich sein. Ebenso ist der Code mit dem with weniger robust gegenüber Änderungen. Aber es kann sich jeder selbst überlegen, was er bevorzugt. Wollte es nur der vollständigkeithalber erwähnen
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)