Einzelnen Beitrag anzeigen

Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#3

AW: Schleife durch alle Controls eines Parents liefert falsche Control-Inhalte

  Alt 6. Aug 2013, 12:01
Bin zwar neu in Delphi, aber das kann in jeder anderen Sprache denselben Effekt ergeben.

Der Inhalt von Edit-Controls wird im Windows per "SetWindowText" gesetzt. Dies löst üblicherweise eine WM-SETTEXT-Nachricht aus. Da Du mit der Schleife innerhalb des Threads bist (davon gehe ich jedenfalls aus) werden Änderungen, die an den Controls vorgenommen werden erst nach Ende der Schleife verarbeitet.

Es ist zwar denkbar, dass WM_SETTEXT mit "SendMessage" an das Control gegeben wird, es ist aber wahrscheinlich, dass dabei Verklemmungen oder Endlosrekursionen auftreten. So wird WM_SETTEXT nur in der Warteschlange abgelegt und später verarbeitet.

Gruß, Mikkey
  Mit Zitat antworten Zitat