Hmm..
Ob nun StringList oder die ObjectList ist egal...
Deine Logic funktioniert noch nicht..
z.B.:
( Ausgehend von nur der einen Form
)
- Application wird gestartet
- Form.OnShow
-> Daten werden geladen
-> Erster Datensatz wird angezeigt (Index[0]), wenn vorhanden
- Neuer Datensatz anlegen
-> Daten eingeben
-> Fertig (Button Speichern), dann neues TName erzeugen und der Liste anhängen
-> (Eventuell speichern, aber kann auch erst beim Schließen der Form gemacht werden)
- NAVIGATION
Hier brauchst Du 2 Buttons, zum Vor und Zurückgehen durch die Liste
-> Entsprechend des neuen Index den entsprechenden Eintrag (Index[x]) anzeigen
- Form.OnCLose
-> Liste speichern (wenn nicht vorher bei Button Speichern passiert ist)
Es wird also nicht immer wieder geladen!
(Irgendwie habe ich ein Dejavu, war so etwas nicht auch bei den Vocabeln..
)
Also, erstmal eine Logic/Stuktur erstellen, dann für die einzelnen Punkte den Source schreiben, am Besten auch in jeweis separaten procedure/functionen....
Apropo:
Verwende KEINE 'globalen' Variablen, wenn diese nicht (über mehrere Forms) als Globales verwendet werden müssen.
Im hiesigen Fall kann die ObjectList als Variable unter private mit z.B. dem Namen FDataList : TObjectlist.
Auch das var Name: TName; ist unglücklich, da 'Name' auch gleich eine propterty vom Form ist...