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

Delphi Discussion :

comment exécuter une procédure sur une application client a partir de serveur?


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 9
    Points : 8
    Points
    8
    Par défaut comment exécuter une procédure sur une application client a partir de serveur?
    Bonjour,
    J'ai une application client/serveur.
    Donc pour envoyer des textes j'utilise clientsocket et serversocket pour réaliser un tchat.
    Ma question est comment je peux envoyer une commande pour exécuter une procédure situé dans l'application client ou server en mode réseau bien-sûr.
    Par exemple pour être bien clair comment je peux exécuter un click de bouton situé dans l'application client a partir de l'application server ? C'est a dire : Button1.Click;

  2. #2
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Bonjour
    Si tu as déjà des sockets et que tu gères ton propre protocole d'échange de données, le plus simple est d'ajouter des commandes que les programmes gèreront en fonction du contexte.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Si je met par exemple dans l'événement read du socket ce ci : if ... ClientSocket.receivetxt = 'Commande1' then Button1.Click; ... Mais cela ne marche pas! Y a t il une autre méthode?

  4. #4
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par idaram Voir le message
    Si je met par exemple dans l'événement read du socket ce ci : if ... ClientSocket.receivetxt = 'Commande1' then Button1.Click; ... Mais cela ne marche pas! Y a t il une autre méthode?
    Ca devrait fonctionner sous cette forme et en n'oubliant pas le paramètre:

    if ... ClientSocket.receivetxt = 'Commande1' then Button1.onClick(Button1);

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Est-ce un contrôle de l'application à Distance ?
    Si Oui
    Vous êtes sur la bonne voie, vous n'utilisez pas de Thread cela pourrait être périlleux avec la manipulation de composant visuel

    Si Non
    Il peut être préférable d'isoler le traitement dans le Button1 dans une autre méthode si celle-ci n'a pas besoin de données à l'écran

    Il serait aussi préférable d'ajouter un préfixe (#) et un suffixe (espace) par exemple '#Commande1 ' pour détecter une commande envoyée avec du texte
    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

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    ça me rappelle un vieux projet que je voulais mettre en place, une application cliente qui se compile comme une application VCL classique et un serveur graphique VCL générique qui affiche l'application (sur le principe de XWindow selon lequel l'application est client est l'affichage graphique est serveur)

    de tête je commençais par envoyer le DFM à l'application serveur qui affichait la fiche (dont elle doit connaitre tous les composants évidemment) et elle envoyait le nom des événements "Button1Click" par exemple pour exécuter le code correspondant côté client...mais bon je n'étais pas aller plus loin qu'un ShowMessage('Hello World') Mais en théorie c'est possible de déporter toute l'interface graphique sur ce principe....après ça se corse un peu si on passe par des fonctions sur un Canvas ou des Pixels[x,y]...mais pourquoi pas
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/05/2008, 17h09
  2. Comment exécuter une application java comme un batch C ?
    Par gillin dans le forum Général Java
    Réponses: 7
    Dernier message: 09/02/2007, 13h59
  3. Réponses: 4
    Dernier message: 19/09/2006, 11h35

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