Wieso wollen eigentlich hier immer sämtliche Daten in einer
SQL-
DB halten und darin arbeiten? Wenn eine Anwendung eh immer alle Daten im Direktzugriff braucht, dann hält man die Daten (geschickt) im Speicher und speichert die nur beim Programmende in eine Datei (und liest sie beim nächsten Programmstart wieder ein).
Du brauchst z.B. eine Klasse für eine Weiche, für ein Signal, für einen Gleisabschnitt (Besetztmelder). Und ich würde noch einen Fahrstraßenübergabepunkt machen, den habe ich bei mir GUP genannt (Gleisübergabepunkt). Daraus bastelst Du Dir dann deine Klasse TFahrstrasse zusammen, die jeweils bei einem GUP anfängt (GupIn), bei einem aufhört (GupOut), eine Liste von Weichen mit Zustand, eine Liste von Signalen mit Zustand und eine Liste mit Gleisabschnitten, die durch diese Fahrstraße belegt werden, enthält.
Das alles kann man sich ganz gut mit TObjLists zusammenstricken.
Die Klasse TWeiche bekommt dann später mal eine Methode StellDich, genauso das Signal, usw usf.
Ich habe mir mal eine
Unit geschrieben, die ein modifiziertes TObject und eine modifizierte TObjectList enthält und dazu eine
Unit, um alle TObjs und TObjLists in einer Datei auf Platte zu schreiben. Das ganze ist nicht dokumentiert *seufz* Wenn da trotzdem Interesse dran besteht, könnte ich mal ein Paket fertigmachen.