AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TStringList erzeugt access violation...
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList erzeugt access violation...

Ein Thema von user0815 · begonnen am 20. Nov 2013 · letzter Beitrag vom 20. Nov 2013
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#21

AW: TStringList erzeugt access violation...

  Alt 20. Nov 2013, 16:48
Das stimmt so aber doch auch wieder nicht, bei Properties oder Parametern kann die Deklaration als TStrings ja durchaus wieder sinnvoll sein (mache ich ja auch so gut wie immer so).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#22

AW: TStringList erzeugt access violation...

  Alt 20. Nov 2013, 16:55
Hi Perlsau,

es kommt halt darauf an...

wenn man die Zuweisung "richtig" macht dann ist das kein Thema, aber ein

Delphi-Quellcode:
var Liste: TStringList;
begin
...

  memo1.Lines := Liste;
end;
oder auch anders rum würde ich persönlich nie verwenden. Das mögen andere anders sehen...

Und auch die Verwendung von TStrings kann man so einfach auch nicht als falsch darstellen: Die VCL macht es doch vor: Die Schnittstelle einer Klasse/Komponente ist sicherlich sinnvoller mit einem TStrings zu deklarieren als mit einer TStringList. Hier hast Du dann für den Anschluss nach außen mehr Möglichkeiten.

Wenn Du andererseits eine sortiere Liste haben willst, spricht schlicht nichts dafür, einen TStrings zu definieren und dann anschließend eine TStringList reinzubuttern und ständig zu casten...

GRüße
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.588 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: TStringList erzeugt access violation...

  Alt 20. Nov 2013, 17:03
Man sollte immer den kleinsten gemeinsamen Nenner nehmen, den z.B. eine Funktion benötigt. Wenn die Funktion auch mit TStrings funktioniert, sollte man auch TStrings als Parameter nehmen, damit man sie mit allen Nachkommen von TStrings aufrufen kann.

Wenn man aber darin etwas von TStringList braucht, z.B. eben Sorted, dann muss man auch diesen benötigten Typ benutzen, da man sonst im günstigsten Fall casten muss, ich ungünstigsten Fall aber einen anderen Nachkommen von TStrings in der Variablen hat. Versucht man den dann zu casten knallt es logischerweise.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: TStringList erzeugt access violation...

  Alt 20. Nov 2013, 17:30
Wenn man aber darin etwas von TStringList braucht, z.B. eben Sorted, dann muss man auch diesen benötigten Typ benutzen,
Was dann aber auch wieder der kleinste gemeinsame Nenner wäre.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 14:30 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