AGB  ·  Datenschutz  ·  Impressum  







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

Listen vergleichen

Ein Thema von EWeiss · begonnen am 4. Jun 2018 · letzter Beitrag vom 4. Jun 2018
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

AW: Listen vergleichen

  Alt 4. Jun 2018, 19:48
Alle meine Propertys meiner Library werden in eine Listbox gespeichert um sie beim beenden der Anwendung freigeben zu können.
Da ist nichts verwerfliches dran und mit Sicherheit kein schlechter Programmierstil.
Was heißt "schlecht"? Es ist einfach sehr unüblich und widerspricht einigen elementaren Konzepten. Von Performance-Nachteilen bzw. sonstigen Overhead (z.B. Threading Problematik) mal gar nicht erst zu sprechen. Aber wie immer führen auch hier viele Wege nach Rom und solange du glücklich bist mit deiner Lösung und niemand anderes an deinem Code arbeiten muss, ist das schon okay. Trotzdem bin auch ich der Meinung, dass man ein solches Vorgehen auf gar keinen Fall allgemein in einem Forum (öffentlich einsehbar auch für Anfänger) empfehlen sollte.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Listen vergleichen

  Alt 4. Jun 2018, 19:55
Was hat eine TStringList in einer NonVCL Anwendung zu suchen?
Ehrlich jetzt.

Und welche Möglichkeiten bleiben dann noch?
Richtig so etwas wie eine ListBox gleichzusetzen mit TStringList NUR und das ist es ich brauche die unit Classes nicht einzubinden.
Das sind die kleinen Feinheiten und um vom Overhead zu sprechen zeig mir einen wenn ich meine liste nur als Zwischenspeicher verwende.
Zitat:
Es ist einfach sehr unüblich und widerspricht einigen elementaren Konzepten
Ach dann sind alle C++ Programmierer mit denen ich zu tun habe Dumme Leute.
Und ja es machen viele von denen weil am einfachsten, sinnvollsten und bequemsten.
Aber das sind Leute die noch in der Lage sind Anwendungen in 45K zu schreiben wo du vielleicht 2MB und up benötigst.

EDIT:
Ohne den neumodischen schnick, schnack den niemand braucht um eine funktionstüchtige Anwendung zu schreiben.
Alte Schule halt.

gruss

Geändert von EWeiss ( 4. Jun 2018 um 20:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.051 Beiträge
 
Delphi 12 Athens
 
#3

AW: Listen vergleichen

  Alt 4. Jun 2018, 20:56
Richtig so etwas wie eine ListBox gleichzusetzen mit TStringList NUR und das ist es ich brauche die unit Classes nicht einzubinden.
Eine TListBox benötigt selbst die Unit Classes, insofern bindest du mit einer TListBox implizit nicht nur die Unit Classes, sondern noch jede Menge anderer Units ein...

Eine TStringList ist dagegen ein reiner schlanker Datenspeicher.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Listen vergleichen

  Alt 4. Jun 2018, 21:00
Richtig so etwas wie eine ListBox gleichzusetzen mit TStringList NUR und das ist es ich brauche die unit Classes nicht einzubinden.
Eine TListBox benötigt selbst die Unit Classes, insofern bindest du mit einer TListBox implizit nicht nur die Unit Classes, sondern noch jede Menge anderer Units ein...

Eine TStringList ist dagegen ein reiner schlanker Datenspeicher.
Wer spricht hier von einer TListBox also liebe Leute!
Ihr immer mit euren "T" zu beginn.

Meine ListBox, nix mit T und nix mit Classes.
Delphi-Quellcode:
    hLISTFNAME := CreateWindowEx(0, 'LISTBOX', nil, UseStyle, 0, 0, 0, 0, ParentHandle,
      ID_LISTFNAME, skInstance, nil);
Die frage ist doch immer der Anwendungsbereich.
Nicht was schön beliebt oder angeblich schlechter Programmierstil ist.

Zitat:
Kannst du ja mal testen, wie performant deine ListBox im Vergleich zu einer TStringList ist. Bin mir recht sicher, dass sich da schon deutliche Unterschiede zeigen.
Kein Widerspruch und ja mit VCL verwende ich sie auch und keine TListBox an dieser stelle.
Das wäre ein Nonsens.

Zitat:
Ich programmiere seit Jahren selbst primär mit C/C++.
Und ich weis das du sehr gut bist.
Aber habe Verständnis dafür das es Menschen gibt die halt sowenig wie möglich Lib's verlinken wollen wenn es nicht nötig ist.
Denn diese bauschen den Code unnötig auf.

Ja ich weis! Ist doch egal ob das Compilat 5 oder mehr an MB benötigt. Nun aber einigen Leuten eben nicht.
Zitat:
In dem Falle gibt es dennoch andere Möglichkeiten - wie z.B. dynamische Arrays.
Richtig. Aber der Aufwand den ich dann betreiben müsste um diese Arrays zu verwalten steht in keinem Verhältnis zu einer simplen ListBox.

Aber unter VCL TListView, TListBox als Datenspeicher zu missbrauchen ja da gebe ich euch recht ist ein Nonsens.

gruss

Geändert von EWeiss ( 4. Jun 2018 um 21:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Listen vergleichen

  Alt 4. Jun 2018, 21:23
Aber habe Verständnis dafür das es Menschen gibt die halt sowenig wie möglich Lib's verlinken wollen wenn es nicht nötig ist.
Denn diese bauschen den Code unnötig auf.
Nein, wie gesagt, ist auch gar keine Kritik Gibt aber auch im Standard - also ohne weitere Libs - definitiv noch andere Optionen, was aber mal dahingestellt sei, da ich es wie gesagt auch vollkommen in Ordnung finde, wenn jeder seinen eigenen, für sich am besten passenden Weg wählt.

Finde es aber auch wichtig darauf hinzuweisen, dass es sagen wir mal weiter verbreitete, etabliertere Wege bzw. Konventionen gibt, die zu verwenden die Arbeit in Teams deutlich erleichtern. Deshalb wollte ich die Aussage von KodeZwerg an dieser Stelle nicht unkommentiert stehenlassen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Listen vergleichen

  Alt 4. Jun 2018, 21:28
Aber habe Verständnis dafür das es Menschen gibt die halt sowenig wie möglich Lib's verlinken wollen wenn es nicht nötig ist.
Denn diese bauschen den Code unnötig auf.
Finde es aber auch wichtig darauf hinzuweisen, dass es sagen wir mal weiter verbreitete, etabliertere Wege bzw. Konventionen gibt, die zu verwenden die Arbeit in Teams deutlich erleichtern. Deshalb wollte ich die Aussage von KodeZwerg an dieser Stelle nicht unkommentiert stehenlassen.
Dito..
Deshalb habe ich auch diesen Satz noch hinzugefügt.
Zitat:
Aber unter VCL TListView, TListBox als Datenspeicher zu missbrauchen ja da gebe ich euch recht ist ein Nonsens.
Wie gesagt es kommt auf den Anwendungsbereich an.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: Listen vergleichen

  Alt 4. Jun 2018, 20:58
Richtig so etwas wie eine ListBox gleichzusetzen mit TStringList NUR und das ist es ich brauche die unit Classes nicht einzubinden.
Eine TListBox benötigt selbst die Unit Classes
Emil bezieht sich denke ich auf ein per Windows-API erzeugtes ListBox Control.

Was hat eine TStringList in einer NonVCL Anwendung zu suchen? [...] Und welche Möglichkeiten bleiben dann noch?
Sehe ich keinen Widerspruch. Du schreibst allerdings ebenfalls NonRTL. In dem Falle gibt es dennoch andere Möglichkeiten - wie z.B. dynamische Arrays.

Das sind die kleinen Feinheiten und um vom Overhead zu sprechen zeig mir einen wenn ich meine liste nur als Zwischenspeicher verwende.
Kannst du ja mal testen, wie performant deine ListBox im Vergleich zu einer TStringList ist. Bin mir recht sicher, dass sich da schon deutliche Unterschiede zeigen.

Zitat:
Es ist einfach sehr unüblich und widerspricht einigen elementaren Konzepten
Ach dann sind alle C++ Programmierer mit denen ich zu tun habe Dumme Leute.
Und ja es machen viele von denen weil am einfachsten, sinnvollsten und bequemsten.
Aber das sind Leute die noch in der Lage sind Anwendungen in 45K zu schreiben wo du vielleicht 2MB und up benötigst.
Ich programmiere seit Jahren selbst primär mit C/C++. Dummheit will ich deinen Leuten sicherlich nicht unterstellen, aber unter C++ gibt es std::vector , std::list und etliche weitere extrem einfach zu verwendende (sogar generische) Container-Typen, die in der Standard-Lib enthalten sind. Auf diese zu verzichten und stattdessen eine Windows ListView zu missbrauchen, macht ehrlich gesagt wenig Sinn.

Wie gesagt, jeder soll machen, wie er will, aber unüblich ist dieses Verfahren allemale
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:13 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