Robię edytor graficzny, na ekranie wyświetlają mi się różne TImage. Wygląd takiego TImage'a zależy od danych z tabeli. W TImage.Tag przechowuję wskaźnik na pole tabeli z danymi.
Problem polega na tym, że jeśli podczas pracy edytora wyskoczy mi jakie kolwiek okienko( typu showmessage ), wartości w tabeli z danymi( niektore ) zostają nadpisane bzdurami.
var
test : integer;
begin
test := TCounter( ObMyCon.TabCon.Tab[ 2 ].Tag ).FontSize; // test = 240;
Showmessage( '' );
test := := TCounter( ObMyCon.TabCon.Tab[ 2 ].Tag ).FontSize; // test = 0;
Nie mam pojęcia jak i gdzie może to się nadpisywać. Program nie wchodzi pomiędzy czasie do żadnej funkcji/procedury. Próbowałem wyłączyć optymalizację.
Edit. wszystkie adresy i wartości w Tag zostaja nie zmienione, w programie nie mam żadnych dodatkowych wątków( po za jednym do progressBara przy zapisiwaniu danych ).