AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList im with übergeben

Ein Thema von luke2 · begonnen am 11. Feb 2010 · letzter Beitrag vom 12. Feb 2010
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#11

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 16:43
Ja, leider nicht.

Vorallem da es technisch möglich wäre und nichtmal viel Aufwand wäre.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Jaynder
Jaynder

Registriert seit: 2. Dez 2004
Ort: Süderelbe
134 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 17:17
wie bei beim exception-handling...
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#13

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 17:49
Warum geht das nicht? Ich habe damit keine Probleme:
Delphi-Quellcode:
with TStringList.Create do try
  ...
  test(Self);
  ...
finally
  Free;
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#14

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 18:03
Zitat von implementation:
Warum geht das nicht? Ich habe damit keine Probleme:
Delphi-Quellcode:
with TStringList.Create do try
  ...
  test(Self);
  ...
finally
  Free;
end;
Hast du es auch probiert?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#15

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 18:07
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#16

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 18:10
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  with TEdit.Create(nil) do
    ShowMessage(Self.ClassName);
end;
Ergebnis: "Form1", also die Form und nicht das Edit

PS: In einer normalen Funktion (keiner Methode) würde hier auch der Compiler meckern.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#17

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 18:16
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).
  Mit Zitat antworten Zitat
Benutzerbild von Jaynder
Jaynder

Registriert seit: 2. Dez 2004
Ort: Süderelbe
134 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 19:29
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...
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#19

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 20:56
Zitat von Jaynder:
..das ist das Problem mit dem with: unklare Semantik, nicht portabel usw..
Also hier ist die Definition eindeutig. Es ist sonnenklar, was gemeint ist und sollte portabel sein (so wie die Reihenfolge der Auswertung von Ausdrücken). Ob es lesbar ist, ist eine andere Frage.
Delphi-Quellcode:
With Parameter.UndEinigenFeldern.InklusiveUnwichtigem.Zeugs Do
  Dies := Das;
*Wie* es kompiliert wird, ist klar. Sonnenklar. Aber was ist Dies und wem gehört Das.
Zitat von Jaynder:
..ich glaube ...Nikolaus Wi(r)th ärgert sich bis heute .. über die nicht explizit mit end abgeschlossen Kontrollstrukturen if und while..
Aber das ist doch in fast allen modernen strukturierten Programmiersprachen so. Das ist doch kein Problem. Das Problem ist die Formatierung, weswegen man das heutzutage der IDE überlässt und nicht mehr selbst macht.

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 .
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#20

Re: TStringList im with übergeben

  Alt 12. Feb 2010, 14:25
Zitat von Jaynder:
über die nicht explizit mit end abgeschlossen Kontrollstrukturen if und while, weshalb ich heute pro Sekunde fünf mal begin end schreiben kann...
Das ist doch sogar eher wieder positiv, nicht so verwirrend wie in einigen BASIC-Dialekten.
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 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