![]() |
TStringList im with übergeben
Hallo,
Wenn ich eine Funktion oder Prozedur habe, die TStrings als Parameter erwartet, muss ich ja eine TStringList ja mit einer Variable erstellen und diese dann übergeben. Beispiel:
Delphi-Quellcode:
Wenn ich das Ganze nun mit einem with abkürzen möchte, gibt es dann auch eine Möglichkeit die eigene Instanz zu übergeben?
procedure test(s:tstrings);
begin [...] end; var sl:tstringlist; begin sl:=tstringlist.create; try test(sl); finally sl.free; end; end; Beispiel:
Delphi-Quellcode:
MfG
procedure test(s:tstrings);
begin [...] end; begin with tstringlist.create do try test(<was kommt hier rein?>); finally free; end; end; |
Re: TStringList im with übergeben
Nö, geht nicht (zumindest hätte ich keine Idee, wie). Hat immerhin den Vorteil, dass man with nicht immer so ohne weiteres verwenden kann und somit eine Fehlerquelle weniger hat.
|
Re: TStringList im with übergeben
Schade, ich brauche sowas nämlich relativ häufig und schreibe das gerne mit with, weil ich wenig Lust habe immer erst eine Variable für sowas zu deklarieren... :pale:
|
Re: TStringList im with übergeben
Nunja, Du könntest höchstens eine Klasse von TStringlist ableiten und eine Methode implementieren, die intern dann test(self) aufruft. Aber da würde ich an Deiner Stelle eher auf with verzichten.
|
Re: TStringList im with übergeben
OK, das wäre für sowas dann echt zu viel Aufwand, dann werde ich das with wohl weglassen. Danke trotzdem!
|
Re: TStringList im with übergeben
vergiss das with, führt nur zu Problemen mit ungewollten/unerkannten Namensüberlagerungen und ist blöd beim Debuggen. Mach lieber ein kleines Template zum Anlegen und wieder freigeben einer kurznamigen temporären Variablen.
|
Re: TStringList im with übergeben
Zitat:
Aber schöner wäre es gewesen, wenn Delphi von sich aus bei WITH anbieten würde, wie es mit SELF bei Methoden möglich ist. |
Re: TStringList im with übergeben
Trotzdem würde ich eher eine Variable deklarieren, um Verwechslungen auszuschließen (Beispiele für solche Verwechslungen gibt es hier ja haufenweise).
[edit] Z.B. ![]() |
Re: TStringList im with übergeben
Zitat:
Delphi-Quellcode:
für ein Alias würde mir dieses vorallem gefallen
with xyz: TStringList.Create do
Delphi-Quellcode:
with kurz: mega_extrem_lange_variable do
with short: mega_extrem_large_variable do begin // mach was mit "kurz" und "short" end; |
Re: TStringList im with übergeben
Man, hast du mich jetzt erschreckt, ich hatte für einen Moment geglaubt die Delphi's wären innovativ gewesen...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz