Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DLL EntryPoint (https://www.delphipraxis.net/88819-dll-entrypoint.html)

Neutral General 22. Mär 2007 11:03

Re: DLL EntryPoint
 
Zitat:

Zitat von Luckie
Warum eigentlich eine DLL und kein normales Programm?

Auftraggeber will DLL haben...

Neutral General 22. Mär 2007 19:09

Re: DLL EntryPoint
 
Zitat:

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

Luckie 22. Mär 2007 19:26

Re: DLL EntryPoint
 
MSDN-Library durchsuchenWM_ENDSESSION wird von Windows nur an toplevel Fenster geschickt.

Neutral General 22. Mär 2007 19:27

Re: DLL EntryPoint
 
Kann ich Windows kein Top-Level Window vorgaukeln oder das ganze irgendwie anders lösen?

Luckie 22. Mär 2007 19:28

Re: DLL EntryPoint
 
Erstell ein unsichtbares Fenster mit einer Nachrichtenschleife.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.
Seite 2 von 2     12   

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