Funktion 'LlGetUsedIdentifiers' liefert nicht die richtigen Variablen zurück

Gilt ab List & Label 24
Die Funktion LlGetUsedIdentifiers liefert die im angegebenen Projekt verwendeten Variablen, Felder und Chartfelder als semikolon-separierte Liste zurück. Es kann vorkommen, dass die Funktion nach Speichern und Schließen des Designers die Variablen, welche schon gelöscht und nicht mehr verwendet werden sollten, noch einmal zurückgibt. Dies führt zur Ausgabe von falschen Werten. Erst nach erneutem Öffnen und Ändern der Datei werden die richtigen Werte zurückgeliefert!

Der technische Grund für das Verhalten ist, dass beim Laden des Projektes, bei dem alle Ausdrücke geparsed werden, für jede Variable und jedes Feld vermerkt wird, ob diese in einem der Ausdrücke verwendet wird. Hier findet (auch aus Performance- und Speicherverbrauchsgründen) keine Referenzzählung mit Verweisquelle statt, es wird lediglich ein Bit in der Struktur der Variablen gesetzt. Somit ist beim Löschen eines Feldes auch nicht bekannt, ob dies die einzige Stelle ist, an der es verwendet wird.

Diese Information kann erst bei erneutem Laden des Projekts mit Sicherheit bestimmt werden.

 
IDKBTD001368 KBTD001368