AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Nachrichtenschleife ohne Fenster
Thema durchsuchen
Ansicht
Themen-Optionen

Nachrichtenschleife ohne Fenster

Ein Thema von Mr_G · begonnen am 28. Mär 2009 · letzter Beitrag vom 31. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#1

Nachrichtenschleife ohne Fenster

  Alt 28. Mär 2009, 19:39
Hallo zusammen,
ich wollte mal fragen ob es Gründe gibt Message-Only-Windows zu umgehen. Im vorliegenden Fall geht es wieder mal um einen Service, der von Haus aus ja keine Nachrichtenschleife hat in der ich Botschaften verarbeiten kann (oder?). Ich könnte nun besagtes Message-Only-Window erzeugen oder mir einen anderen Weg suchen die Daten auszutauschen. Gibt es da Dinge die ich berücksichtigen sollte?
Jan
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Nachrichtenschleife ohne Fenster

  Alt 28. Mär 2009, 22:02
Geht es um den die Delphi-Vorlage TService? Dort gibt es selbstverständlich eine Nachrichtenschleife (allerdings im Hauptthread, d.h. nicht im Service-Thread). Aber die Hauptfrage ist hier wohl: Wozu brauchst du ein Fenster?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Nachrichtenschleife ohne Fenster

  Alt 29. Mär 2009, 01:21
Es geht um einen Service der ohne VCL geschrieben wird. Zur Hauptfrage: Ich könnte mich mithilfe einer Nachrichtenschleife über bestimmte Ereignisse informieren lassen und dachte ich könnte diese dann auch selber für den Datenaustausch nutzen.
Jan
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Nachrichtenschleife ohne Fenster

  Alt 29. Mär 2009, 03:05
Auch wenn es hier um einen Dienst geht, vielleicht bringt dir ja dieses allgemeine nonVCL Tutorial auch etwas, falls du das noch nicht kennst:
http://www.delphi-treff.de/tutorials...ierung/nonvcl/
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

Re: Nachrichtenschleife ohne Fenster

  Alt 29. Mär 2009, 03:49
Zitat von Mr_G:
Es geht um einen Service der ohne VCL geschrieben wird. Zur Hauptfrage: Ich könnte mich mithilfe einer Nachrichtenschleife über bestimmte Ereignisse informieren lassen und dachte ich könnte diese dann auch selber für den Datenaustausch nutzen.
Hallo,

ich schätze mal, sicher bin ich mir nicht: wenn dein Dienst ein Windows erzeugt, ist noch kein User angemeldet und das Window wird auf einem normalerweise nicht zugänglichen Spezial-Desktop erzeugt (Genaues findet sich in den Tiefen von MSDN). Wenn sich irgendwann später ein User anmeldet, bekommt er seinen üblichen Desktop, aber FindWindow kann dein Dienst-Window nicht finden, weil FindWindow vom (User-) Desktop-Window ausgehend sucht, da ist aber kein Window des Dienstes.

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Nachrichtenschleife ohne Fenster

  Alt 29. Mär 2009, 04:11
Interaktive Dienste gibt es unter Vista nicht mehr, da sie eine Sichrheitslücke darstellen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Nachrichtenschleife ohne Fenster

  Alt 29. Mär 2009, 10:52
Danke für die Antworten!
Für mich sieht es so aus, als sollte ich ein Message-Only-Window umgehen. Es erscheint mir zum einen als unsauber und zum anderen auch als unpraktikabel.
Jan
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

Re: Nachrichtenschleife ohne Fenster

  Alt 29. Mär 2009, 11:46
Wenn du schon ein "Fenster" erzeugen willst, dann aber doch hoffentlih keines der VCL
und am besten ein "richtiges" Hier im Forum suchenMessage-Only-Window?

z.B. http://www.delphipraxis.net/internal...=730310#730310

PS: du brauchst nicht unbedingt ein Fenster, denn es ist auch möglich Nachrichten direkt an die MessageQueue eines Threads zu senden MSDN-Library durchsuchenPostThreadMessage.
PostMessage träge eine Nachticht in die MessageQueue des Threads ein, worin ein Fenster erstellt wurde (bzw. in dem Thread, welcher für das Fenster angegeben wurde)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Nachrichtenschleife ohne Fenster

  Alt 29. Mär 2009, 12:34
Hi,

für Dienste eignet sich aber eher eine Kommunikation über Sockets oder Pipes.

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Nachrichtenschleife ohne Fenster

  Alt 29. Mär 2009, 13:25
@thkerkmann: In diese Richtung wollte ich dann auch gehen. Danke für den Hinweis!

@himitsu: Ich spreche doch die ganze Zeit von Message-Only-Windows ohne VCL Was die Thread-MessageQueue angeht: Das hört sich interessant an. Die könnte man dann auch für die Kommunikation zwischen einzelnen Threads nutzen, oder?
Jan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz