ich verstehe das Problem nicht. Ich glaub dein Programmablauf ist nicht richtig durchdacht. Du als Programmierer sorgst dafür das sich die Caption eines Labels ändert. Also weißt du auch wann ein X dazu kommt oder verschwindet. Wenn du die Caption änderst kannst du doch im gleichen Moment auch einen Zähler hoch bzw. runter zählen:
Delphi-Quellcode:
var
lIsX,
lWasX : Boolean;
begin
lWasX := DeinLabel.Caption = 'X';
DeinLabe.Caption := NeueCaption;
lIsX := DeinLabel.Caption = 'X';
if (lWasX and not(lIsX)) then
XAnzahl := XAnzahl - 1
else if (not(lWasX) and lIsX) then
XAnzahl := XAnzahl + 1;