Thema: Delphi DLL EntryPoint

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: DLL EntryPoint

  Alt 22. Mär 2007, 19:09
Zitat von Flocke:
Bei einer Endlosschleife würdest du ja PROCESS_DETACH nie bekommen, da rundll32 auf ewig auf die Rückkehr aus deiner Funktion wartet.
Dazu hab ich jetzt nochmal ne Frage. Denn genau das ist mein Problem. Es kommt bei meiner DLL vor das beim herunterfahren dieser Programm beenden Dialog kommt (rundll32.exe). Wisst ihr was ich meine? Das kommt garantiert von meiner Endlosschleife und davon das rundll32.exe darauf wartet... Was kann ich dagegen machen? Das Problem bei dem Problem ist das es auf MEINEM PC dieses Problem nicht gibt sondern nur beim Kunden.....Der hat aber genau wie ich WinXP Prof. Was kann ich dagegen tun? Reicht ein einfaches Application.Processmessages in meiner Schleife? Eher nicht oder? Ich habs jetzt mit AllocateHWnd versucht. Das ich da WM_ENDSESSION abfange und dann Running = false setze und aus meiner Endlos-Schleife mit

Delphi-Quellcode:
while Running do
 ...
eine endliche Schleife mache... Problem:

Delphi-Quellcode:
procedure TMyWindow.GetMessages(var Message: TMessage);
begin
 if Message.Msg = WM_ENDSESSION then
 begin
   Running := false;
   ShowMessage('!'); // <-- wird niemals ausgeführt...
 end;
   
 Message.Result := DefWindowProc(hMsgWin, Message.Msg, Message.wParam, Message.lParam);
end;
Also entweder bekomm ich keine WM_ENDSESSION Message von Windows oder ich weiß auch nicht...
Gibts da irgendwie eine Lösung?

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat