TStringList je property objektu, který se vytvoří v hlavním vlákně hned při startu programu.
Po té je plněn, ale pouze z toho vedlejšího vlákna.
Nakonec informace z objektu zobrazuje hlavní vlákno.
Žádnou chybu program nehází a hlavní vlákno vidí TStringList prázdný.
Nyní se snažím dokrokovat kam až program doběhne(, ale jde to pomalu - když krokuju z Delphi více vláken tak se po několika krocích sekne celé Delphi a musím ho restartnout :-( )
Teď mě napadlo, že zkusím ve vedlejším vláknu vytvořit nějaký dočasný SL a ten na ThreadEnd pak předhodit SL v objektu.
Doplním další informace co jsem obdržel od tech. podpory a co jsem sám vyzkoumal:Problém je pouze na Win7 aWin8. Nezáleží na home, profi... 32/64bit
Další anomálie jsem zjistil i v jiných částech kódu, které se vláken netýkají, takže tady už fakt začínám být dost tápající.
Poměr u zákazníků nefunkčních Win7/8 proti funkčním je momentálně asi 1:15.
Jeden příklad z mého zoufalství:Mám sadu HW identických notebooků, kde:
- Win7 64bit předinstalované > program nechodí správně
- Win7 64 bit "ručně" instalované > program běží bez problémů
- Win8 Enterprise evolution 64 bit "ručně" instalované > program nechodí správně
Takže zatím jsem vyloučil problém na HW.
Dále zkoumám zda na to nemůžou mít vliv nějaké drivery či nastavení OS.