Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ersatz für ProcessMessages() (https://www.delphipraxis.net/138620-ersatz-fuer-processmessages.html)

argonix 13. Aug 2009 18:48


Ersatz für ProcessMessages()
 
Hallo!
Ich habe eine Bibliothek geschrieben, welche auf Signale einer System-Daemons unter Linux wartet.
Das Ganze hat folgenden Stil:
Delphi-Quellcode:
aktion_starten;
  while not aktion_beendet do Application.ProcessMessages;
Allerdings kann ich das ProcessMessages des Application-Objektes nicht benutzen, da es in der Unit "Forms" enthalten ist und in der Lib wirkungslos ist. Wenn ich allerdings
Delphi-Quellcode:
while not aktion_beendet do begin end;
mache, kommt das Signal nicht an, es wird eine Variable nicht gesetzt, welche die Aktion als beendet markiert und das Programm hängt sich in einer Endlosschleife auf.
Gibt es ein NonVCL ProcessMessage, welches die Anwendung onder Lib auf Events reagieren lässt?

himitsu 13. Aug 2009 19:03

Re: Ersatz für ProcessMessages()
 
die Kurzfassung wäre in etwa
Delphi-Quellcode:
var Msg: TMsg;

while not doExit and PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do
begin
  TranslateMessage(Msg);
  DispatchMessage(Msg);
end;
wenn du jetzt aber noch zusätzlich Unicode richtig behandelt haben willst, dann bräuchte es mehr Aufwand

argonix 13. Aug 2009 19:24

Re: Ersatz für ProcessMessages()
 
Hmm... Danke. Das hilft für die Windows-Variante, unter Linux sind die Befehle mit Sicherheit nicht verfügbar. Da muss ich wohl 'ne andere Lösung finden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 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