Naja ganz 100% muss das nicht stimmen. Und zwar dann, wenn die Klasse TForm5 ein öffentliches Attribut oder Methode hat die auch Form5 heißt. Dann weiß ich nicht, was with da bevorzugt. Ich meine es ist ja quasi
x.[...]
innerhalb von with. Das ist nur nicht der Fall, wenn
x.[...]
in den Moment nicht gültig wäre. Zum Beispiel:
Delphi-Quellcode:
with TButton.Create(nil) do
begin
Caption := 'Foo';
Text := 'Text';
end;
Die erste Zeile funktioniert und der Button ist vermutlich mit Foo beschriftet, bei der zweiten Zeile funktioniert es allerdings nicht, da TButton keine Eigenschaft Text hat. Das heißt, wenn das z.B. ein TEdit wäre (oder davon abgeleitet), dann würde in diesem Fall da stehen:
Delphi-Quellcode:
x : TButton;
x := TButton.Create(nil);
x.Caption := 'Foo';
Self.Text := 'Text';
Es kann natürlich sein, dass ich tatsächlich was übersehen habe, aber ich bin mir sicher, dass es tatsächlich so "übersetzt" würde. Und mein Code soll natürlich
keine Korrektur sein sondern eine
Übersetzung.
MfG
Fabian