![]() |
ListView > VST: wieviele Klassen verträgt ein Programm/VST
Es steht bald ein großer Umzug bevor. Ich werde ein TListView in Rente schicken und durch ein TVirtualStringTree ersetzen.
Aktuell speichere ich, oh Schande, die Daten direkt im TListView. Mit dem VST dann natürlich in Klassen-Objekten, was alles in einem anderen Testprojekt schon vorbereitet ist. Ein paar Fragen bleiben aber: erste Frage: wieviele Klassen verträgt ein Programm? Pro VST-Eintrag brauche ich eine Klasse (ist ja logisch) und es kann ganz grob zwischen 0 und 100 VST-Einträge geben. zweite Frage: ich möchte mein Programm so sauber wie mir möglich gestalten was das VST angeht. - ALLE Daten einer Ini-Section (eine Ini-Section = ein VST-Eintrag bei mir), sodass ich an anderen Stellen nur ins Klassen-Objekt gucken muss und zack habe ich meine Daten oder zu Programmstart nur das VST mit den Texten bestücken (Col1 bis ColX) und den Rest immer dann aus der Ini laden wenn er gebraucht wird? Ist ersteres technisch vom Arbeitsspeicher-Verbrauch möglich? Eine Ini-Section kann in etwa 200 bis X00 Bytes groß sein. Ich weiß ja jetzt nicht wieviel das Programm dann dafür reservieren würde. Aber 200 Bytes pro VST-Eintrag sicher nicht. Ein VST-Klassenobjekt wird einige strings, integers und Booleans haben, aber es werden auch strings geladen, die dann mit meiner eigenen Ini-Interposer-Klasse direkt in ein Enum gesteckt werden. |
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
Zitat:
Grüße, Christoph |
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
VST = (grob) ein IndexPerElement, wo DU SELBST per GetValue/SetValue Event alles nötge live liefern, bzw speichern musst.
Kümmere dich also um eine saubere interne eigene Datenhaltung. Wenn du alles im Ram halten kannst dann mach es.. eine TObjektlist oder doch besser ein Dictionary also "KeyIndex for TObject" ist da ein erster Ansatz. Wenn eh nicht alle in den Ram passt, dann besser gleich die Daten Live per SQL aus einer indexbasierten Query geholt und auch per Index über Insert/Update Live aktualisiert. Tip: Vergiss besser dein "INI" Konzept, wenn dann aktuell sowas als TObject<->JSON (Objekt)Serialisierung am besten mit aktuellem Delphi realisieren, sonst die RTTI dazu benutzen. Satt purer INI Files oder HandMade XML dann lieber ne Mini (SQL)DB mit nem Index und nem Blob für die typisierten (Class)ObjectData als JSON. |
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
Zitat:
Zitat:
Das ist aber nicht das Thema und hat für mich 0 Wichtigkeit. Wichtig sind nur die beiden von mir gestellten Fragen für mich + wieviel RAM bei ~300 Bytes pro Ini-Section, ein paar Strings, Integers und Enums und das alles maximal 100x reserviert werden könnte. Es sind keine komplexen Datentypen dabei. |
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
Ich denke Du und deine Kunden seid eventuell doch durchaus leicht anpassungsfähig:)
- selbst in einer Ini Datei kannst du per Section weiter einen "Key" und ein "(JSON)Value" als String speichern - das kann man wenn man möchte jederzeit weiter per simplen Notepad als Texteditor bearbeiten - die "automatisierte" ObjectSerialisierung wäre doch mal was "besonderes", denn das macht dir das Leben und den Source einfacher - Ob nun ein Blob in einer SQL DB, oder eine ValueEintrag in einer Ini-Section... das ist doch völlig wurscht! |
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
Welche Kunden? Hab ich keine.
Bitte lasst das Thema Ini sein. Das interessiert mich doch gar nicht und ich werde nichts anderes verwenden. |
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
jo, wir haben auch noch ein paar INIs das is schon weiter ganz praktisch:)
Also nochmal: willst du unbeding weiter selbst KeyValuePerKeyValue für deine IniSections programmieren, oder haste nicht mal Lust dir da eventuell das Leben etwas zu erleichtern. Versuch macht Kluch... probiere doch einfach mal was raus kommt und ob das noch für dich akzeptabel per Texteditor zu bearbeiten ist. Die Bytes per Eintrag sind in deinen genannten Anzahlen heutzutage völlig wurscht! |
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
Zitat:
Zitat:
Zitat:
|
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
Hallo,
da du ja extrem beratungsresistent bist. Warum probierst du deinen Ansatz nicht einfach aus? |
AW: ListView > VST: wieviele Klassen verträgt ein Programm/VST
Was hat es bitte mit beratungsresistent zu tun, wenn hier etwas angesprochen wird was 1) nichts mit dem Thema zu tun hat und 2) welches mich nicht interessiert?
Da DU scheinbar irgendein problem mit mir hast, solltest du am besten aus diesem Thema hier verschwinden. Für mich hat sich das Thema jedenfalls erledigt und ich bin raus hier. Kannst mich nun ruhig beleidigen, ich werde es eh nicht lesen. Da bin ich lieber auf ![]() Edit: ich sehe deine Beiträge dank eines Scripts nun nicht mehr. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 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 by Thomas Breitkreuz