Re: TStringList im with übergeben
Ja, leider nicht.
Vorallem da es technisch möglich wäre und nichtmal viel Aufwand wäre. |
Re: TStringList im with übergeben
wie bei beim exception-handling...
|
Re: TStringList im with übergeben
Warum geht das nicht? Ich habe damit keine Probleme:
Delphi-Quellcode:
with TStringList.Create do try
... test(Self); ... finally Free; end; |
Re: TStringList im with übergeben
Zitat:
|
Re: TStringList im with übergeben
Ja - bei mir läufts (na gut, anderer Compiler, vielleicht läufts in Delphi ja auch nicht).
[ADD] Na gut, im Delphi-Mode und Compiler-Version 2.4.0 willer's auch nicht mehr. Vorher hatte ich's mit 'ner Uralt-FPC-Version versucht. |
Re: TStringList im with übergeben
Delphi-Quellcode:
Ergebnis: "Form1", also die Form und nicht das Edit :zwinker:
procedure TForm1.FormCreate(Sender: TObject);
begin with TEdit.Create(nil) do ShowMessage(Self.ClassName); end; PS: In einer normalen Funktion (keiner Methode) würde hier auch der Compiler meckern. |
Re: TStringList im with übergeben
Der Compiler mit dem ich das vorhin versucht hab, war auch irgendsoein uraltes Nightly-Build, mit 2.4.0 geht das auch nicht mehr (hab ich grad installiert und getestet).
|
Re: TStringList im with übergeben
Siehst du, und genau dass ist das Problem mit dem with: unklare Semantik, nicht portabel usw.. Also lieber Finger weg davon, ich glaube der gute Nikolaus Wi(r)th ärgert sich bis heute darüber die Krätze genau so wie über die nicht explizit mit end abgeschlossen Kontrollstrukturen if und while, weshalb ich heute pro Sekunde fünf mal begin end schreiben kann...
|
Re: TStringList im with übergeben
Zitat:
Delphi-Quellcode:
*Wie* es kompiliert wird, ist klar. Sonnenklar. Aber was ist Dies und wem gehört Das.
With Parameter.UndEinigenFeldern.InklusiveUnwichtigem.Zeugs Do
Dies := Das; Zitat:
Beim 'With' gebe ich dir recht, obwohl es mir höchstens 1x pro Jahr Probleme bereitet. Und 'Ja', ich schreibe mehr als 1x pro Jahr eine Zeile Code :zwinker: . |
Re: TStringList im with übergeben
Zitat:
If und While erwarten nunmal 1 Anweisung (Aufruf oder Zuweisung), man muss sich dann nur noch merken, dass Begin-End-Blöcke mehrere Anweisungen auch da möglich machen, wo normal nur eine erwartet wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz