Zur Initialisierung von p: Da p^.ref := q;
im else-Zweig steht, wird es erst beim zweiten Durchgang ausgeführt. Dann ist es doch über p:=q;
schon initialisiert?
Das ist natürlich korrekt .. zumindest wenn du implizierst, dass
Anker
initial immer
nil
ist. Dein Funktionsdesign (insbesondere die Logik deiner Funktionskapselung) ist leicht unintuitiv
An der zweiten Stelle wird
K1_A
zu irgendeinem Zeitpunkt wohl
nil
sein. Warum, weshalb, sehe ich grade im Gewurschtel der globalen Variablen und missbrauchten
GUI Controls leider nicht.