Wenn ich's richtig sehe, ist das Problem, dass FStabList[I] per Wert einen temporären Record zurückliefert. Du erhältst keine Referenz auf den Record innerhalb von FItems! Auf diesem temporären Record führst du dann CheckQuerRight aus, und das schreibt auch brav alles da rein, was rein muss. Nur danach löst sich der temporäre Record in Luft auf... und das war's.
Zwei schnelle Lösungen, die mir einfallen, wären:
- Führe eine Property ein, die einen Zeiger auf TStab zurückliefert.
- Mache FItems public.
Beides nicht soooo elegant.