IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Pompe à messages dans un service


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut Pompe à messages dans un service
    bonjour,

    j'ai à convertir une application windows classique en un service.
    l'application windows existante utilise pas mal la fonction SendMessageTimeout pour transmettre des données entre des threads secondaires et le thread principal.
    ces messages sont trappés par une surcharge de wndproc.
    existe-t-il un équivalent de wndproc pour un service ou bien comment remplacer ce principe d'échange ?
    merci de votre aide.

    a+
    engi

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Salut avec AllocateHWnd et DeallocateHWnd tu peux sans doute faire ce que tu veux.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Merci pour cette info.
    Ceci étant dit, par curiosité, j'ajoute une question :
    Cette façon de faire en créant une fenêtre virtuelle est-elle une méthode reconnue et répandue ou est-ce une façon de contourner le problème ?

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 051
    Par défaut
    Répandu, je ne sais pas mais reconnu, peut-être, le TTimer procède ainsi !
    C'est ce qui permet d'utiliser un TDataModule qui n'est qu'un container VCL (en DesignTime) mais qui n'a aucune réalité pour Windows en RunTime

    Pour discuter entre des threads, je préfère le couple TThreadList + TEvent que des messages windows
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Bonjour ShaiLeTroll.
    Merci de ta réponse.
    Au risque d'abuser, as-tu un exemple de code concernant le TThreadList et TEvent ?

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 051
    Par défaut
    Un sujet à lire avec de nombreuses approches : Première tentative de multithread, ouch !

    Idem dans Problème de synchronisation entre Thread et VCL où plusieurs solutions ont été proposées
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] Interception des messages Windows dans un service
    Par TheFreeBerga dans le forum Lazarus
    Réponses: 2
    Dernier message: 31/08/2014, 12h08
  2. Réponses: 1
    Dernier message: 27/04/2012, 05h43
  3. Relation user -> message dans service messagerie interne
    Par eluus dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 28/02/2012, 00h32
  4. Réponses: 2
    Dernier message: 17/02/2010, 17h27
  5. Comment récupérer les windows message dans un service
    Par coxman68 dans le forum Débuter
    Réponses: 0
    Dernier message: 26/02/2009, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo