Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SendMessage LB_GETCOUNT wird ausgebremst (https://www.delphipraxis.net/126000-sendmessage-lb_getcount-wird-ausgebremst.html)

hitzi 16. Dez 2008 10:19


SendMessage LB_GETCOUNT wird ausgebremst
 
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
Delphi-Quellcode:
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

Luckie 16. Dez 2008 10:24

Re: SendMessage LB_GETCOUNT wird ausgebremst
 
Zitat:

Zitat von hitzi
Was kann diese Verzögerung verursachen?

Die Anwendung ist gerade mit etwas anderem beschäftigt, nehme ich mal an, und kann so nicht sofort auf deine Nachricht reagieren.

hitzi 16. Dez 2008 10:32

Re: SendMessage LB_GETCOUNT wird ausgebremst
 
Oh Mann ... "ich such mir hier nen Ast" und auf das Einfachste bin ich gar nicht erst gekommen. :wall: Ich werde das mal überprüfen - am Ende kann ich gar nichts dagegen machen.

Danke für den Hinweis Luckie :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz