Einzelnen Beitrag anzeigen

Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#1

SendMessage LB_GETCOUNT wird ausgebremst

  Alt 16. Dez 2008, 11:19
Hallo,

kann mir jemand erklären warum ein simples SendMessage mit LB_GETCOUNT beim letzten Aufruf plötzlich drei Sekunden braucht?

mein Programm startet ein fremdes Programm und überwacht nach dem Start eine Listbox, um zu sehen wann das Programm vollständig geladen ist. Dabei wird im Schnitt 7 bis 8 Mal die Listbox gecheckt. Das funktioniert auch tadellos bis auf eine kleine Sache - beim letzten Aufruf braucht der Aufruf
c := SendMessage(ListBox, LB_GETCOUNT, 0, 0); statt einem Tausendstel plötzlich ganze drei Sekunden. Im folgenden Log ist das schön an der Zeit zu erkennen. Der erste Eintrag(LB_GETCOUNT) ist immer vor dem SendMessage und der zweite(Before Loop) direkt danach.

Zitat:
[2008.12.16 10:56:36.048] :> (DebugText) - [TframeServer.GetListboxContent] - LB_GETCOUNT
[2008.12.16 10:56:36.049] :> (DebugText) - [TframeServer.GetListboxContent] - Before Loop
[...]
Und nun der letzte Aufruf:
[2008.12.16 10:56:36.151] :> (DebugText) - [TframeServer.GetListboxContent] - LB_GETCOUNT
[2008.12.16 10:56:39.005] :> (DebugText) - [TframeServer.GetListboxContent] - Before Loop
Drei Sekunden für das Abfragen der Anzahl der Einträge erscheint mir etwas zu viel, oder?
Was kann diese Verzögerung verursachen?

Viele Grüße
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat