Zurück kommend zu deinen ersten Beitrag. Du schreibst du möchtest das
OOP lösen. Denn verwende doch bitte keinen Record und Zeigertypen. Der Record kann genau so ein Objekt (TObject etc.) sein.
Zu deinen Tür Beitrag.
Grundsätzlich hast du hier Statemaschines, welche Übergänge nach Ereignissen haben.
Im Fall der Tür:
1) Tür ist offen
2) Tür schließt
3) Tür ist geschlossen
4) Tür öffnet
Zwischen diesen Zuständen gibt es definiert Übergänge. Letztendlich musst du den Zustand abblinden und dieser kann genutzt werden um es z.B. in der Oberfläche anzuzeigen.
Du solltest auch auf eine strikte Trennung von Mechanik und Anzeige machen.
Beim Fahrstuhl selbst, gibt es genau so Staties.
1) Steht in einen Stockwerk
2) Fährt Aufwärts
3) Fährt Abwärts
4) Nothalt (zwischen Stockwerken)
Diese haben eine direkte Kopplung mit den Tür States.
Wäre doof wenn der Fahrstuhl Status 2-4 hat und die Türen nicht geschlossen sind.
Also schau dir mal das Pattern Zustandmaschine an:
http://de.wikipedia.org/wiki/Zustand_(Entwurfsmuster)