Da fehlt die Zuweisung für vText, somit ist vText immer leer und
Code:
SetLength(Actual, Length(vText));
Zeiger := 0;
ActChar := GetStart(vText[Zeiger+1]);
führt immer zur Grenzüberschreitung des Arrays.
Ich würde an deiner Stelle Output: TLable im Constructor erzeugen
Code:
Self.Output := TLabel.Create(Form1);
Self.Output.Parent := Form1;
Self.Output.Left := 100;
Self.Output.Top := 100;
Self.Output.Caption := 'Irgendwas';
Self.Output.Show;
und im Destructor dann wieder zerstören.