Hallo,
Emil will wahrscheinlich gar keine Nachrichten in der
DLL verarbeiten, sondern nur ein Delay einbauen - und dabei soll die Nachrichten-Warteschlange vom main thread weiter bedient werden. Das kann seine Tücken haben, aber eine solche Warteschleife ist natürlich auch ohne die
Unit Forms möglich:
Delphi-Quellcode:
procedure Delay(ticks: Cardinal);
var
Msg: TMsg;
tc: Cardinal;
begin
tc := GetTickCount;
while (GetTickCount - tc) < ticks do
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;
Getippt und nicht getestet. So werden alle Nachrichten weiterverarbeitet - man könnte das einschränken. Wenn überhaupt keine Nachrichten verarbeitet werden sollen, dann kann man gleich Sleep() nehmen.
Freundliche Grüße