2017-08-22 2 views
0

imageWie kann ich Nachrichtenschleife für erhöhte Ereignisse in Betrieb haben?

Ich schreibe Service, den ich Drittes COM-Objekt in meiner application.every Sache laden muß funktioniert gut, wenn ich Windows-Anwendung verwenden, aber in meinem Dienst das Service-Objekt nie ein Ereignis ausgelöst wird, ich bin mit dem gleicher Code in beiden. Dank

+0

Hinweis haben: wenn ich Meldungsfeld Benutzer zeigt, Veranstaltung beginnen Feuer, bis ich es zu schließen, nachdem das Ereignis nie ausgelöst. –

+1

Willkommen bei StackOverflow. Bitte lesen Sie die [Tour] und [Hilfe] für die richtige Art, Fragen auf dieser Seite zu stellen. Es gibt keine Möglichkeit, dass jemand diese Frage so beantworten kann, wie Sie es vorgestellt haben. Bitte geben Sie eine [mcve] an, die das tatsächliche Problem in Aktion zeigt. –

Antwort

0

Dienste neigen nicht dazu, ein Fenster Nachricht Pumpe zum Empfangen solcher Nachrichten zu laufen. Ich muss Nachrichtenschleife in meinem Dienst

while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do begin 
    Try 
    TranslateMessage(Msg); 
    DispatchMessage(Msg); 
    Except 
    Application.HandleException(Self); 
    End; 
end; 
Verwandte Themen