![]() |
Re: MemoBox bzw. Textdatei im Speicher verwalten
Zitat:
|
Re: MemoBox bzw. Textdatei im Speicher verwalten
Zitat:
Im Moment sehe ich nur den Sinn, dass TStrings einfach weniger zu schreiben ist. ;) Klärt mich auf wenn ich falsch liege. :) |
Re: MemoBox bzw. Textdatei im Speicher verwalten
Z.B. TMemo.Lines sind als TStrings deklariert und nicht als TStringList. Deklarierst Du also einen Übergabeparameter als TStringlist, kannst Du TMemo.Lines nicht mehr übergeben, so einfach ist das ;)
|
Re: MemoBox bzw. Textdatei im Speicher verwalten
Hallo,
da muß ich nun doch wiedersprechen.
Delphi-Quellcode:
Wenn man die StringList sortieren will, oder sonst etwas nutzen will was in TStrings enthalten ist, dann knallt's.
var
ll : tstrings; begin ll:=tstringlist.Create; ll.add('einms'); ll.add('zwei'); ll.add('dreir'); ll.add('vier'); ll.add('fünf'); ll.sort; {---- das geht nicht!} ll.Free; end; Und die Übergabe geht über .Text ganz gut. Gruß K-H |
Re: MemoBox bzw. Textdatei im Speicher verwalten
Und was willst Du damit zum Ausdruck bringen (vor allem, wem widersprichst Du denn da nun)?
|
Re: MemoBox bzw. Textdatei im Speicher verwalten
Zitat:
Delphi-Quellcode:
würde das dann auch wieder gehen :)
TStringList(l1).sort;
|
Re: MemoBox bzw. Textdatei im Speicher verwalten
Ist zwar in diesem Fall wurscht, aber IMO wäre es besser mit
Delphi-Quellcode:
(ll as TStringList).sort;
|
Re: MemoBox bzw. Textdatei im Speicher verwalten
Hallo
ich hatte den Eindruck, das sich Kuba mit den Stringlisten ein wenig schwer tut, und dann ist eine eine solche Konstruktion meiner Meinung nach nicht das wahre:
Delphi-Quellcode:
Wenn dann irgendwo hinten im Code eine Methode oder eine Eigenschaft von TStringlist genutzt wird, ist Hängen im Schacht. Wenn man nur die Methoden und Eigenschaften von TStrings benötigt, und man ist sich dessen bewusst, ist dies ein gangbarer Weg. Aber dann sollte man nicht von Stringlisten sondern von "deabstrahiertem" (oder wie ach immer das heißt) TStrings sprechen.
var
sl : TStrings; sl:=TStringlist.create; Und daß
Delphi-Quellcode:
funktioniert, wußte ich nicht. TStringlist(ll).sort Typecasting mit Klassen eröffnet ganz neue Möglichkeiten. Gruß K-H |
Re: MemoBox bzw. Textdatei im Speicher verwalten
Der harte Cast sollte aber, wie Detlef schon erwähnt hat, durch eine Softcast ersetzt werden.
Die Verwendung des abtrakten Vorgängers bei der Variablendeklaration hat weiterhin den Vorteil, dass man später die implementierende lasse einfacher ändern kann. Deshalb wird innerhalb der VCL auch immer TStrings als Typ verwendet. |
Re: MemoBox bzw. Textdatei im Speicher verwalten
Zitat:
in diesem fall weiß ich doch 100%ig von welchem typ mein objekt ist und, dass ich das garantiert zu TStringList casten kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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