![]() |
nonvcl Endlosschleife ohne uses Forms
Hi,
wie kann ich mit nonvcl eine Endlosschleife ohne application.processmessages, welches ja aus uses Forms? Die Schleife sollte aber Reagieren, damit die Timer noch funktionieren mfg gandime |
Re: nonvcl Endlosschleife ohne uses Forms
Das ist deine Schleife:
Delphi-Quellcode:
Wenn du an dich selber ein Postquitmessge schickst wird diese Schleife beendet.
while getmessage(msg,0,0,) do
begin translatemessage(msg); dispatchmessage(msg); end; |
Re: nonvcl Endlosschleife ohne uses Forms
Ich glaube, er meinte wie er in einem nonVCL Programm eine Schleife machen kann, ohne dass seine Anwendung einfriert ... also quasi ein nonVCL Gegenstück von Application.ProcessMessages ;)
Ich meine, das habe ich mal in einer Demo von Luckie oder so gesehn ... |
Re: nonvcl Endlosschleife ohne uses Forms
Das geht so:
Delphi-Quellcode:
procedure ProgressMessages;
var msg: TMsg; begin if PeekMessage(Msg, 0, 0, 0, pm_Remove) then begin TranslateMessage(Msg); DispatchMessage(Msg); end; end; //.. procedure ... begin for x := ... to y do begin // to do.... ProgressMessages; end; end; //... |
Re: nonvcl Endlosschleife ohne uses Forms
Zitat:
|
Re: nonvcl Endlosschleife ohne uses Forms
genau das wollte ich: PeekMessage(Msg, 0, 0, 0, pm_Remove)
danke an alle :-) |
Re: nonvcl Endlosschleife ohne uses Forms
blos wie mache ich das jetzt das nicht 100%cpu auslastung entsteht, möglichst ohne sleep?
|
Re: nonvcl Endlosschleife ohne uses Forms
:wiejetzt:
Also möchtest du doch nicht ein "identischen Processmessages", sondern dein Programm soll auf eine Message warten (mit wenig CPU-Auslastung. Dann nimmst du statt peekmessage -> getmessage. |
Re: nonvcl Endlosschleife ohne uses Forms
hmm ok sry meine Schuld
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz