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 :

Socket sans Form


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 27
    Par défaut Socket sans Form
    Bonjour,

    Pour qu'une dll écrite en delphi7 communique avec une application en c# /wpf, je voulais créer un ServerSocket.
    Or j'ai 2 problemes, tout d'abord je suis grand débutant en delphi ! Et ensuite il semble que mon ServerSocket n'est pas instancier ...
    Donc mes questions sont: faut il obligatoirement une Form pour pouvoir utiliser un ServerSocket (vous l'aurez compris il n'y a pas de Form ici)?
    Est ce que ServerSocket/ClientSocket sont les mauvais objets? Y en a t il d'autres à utiliser?

    Merci d'avance de votre aide.

    PS: dans la dll delphi il y a un port COM (TComPort) qui est utilisé, mais pour lui nous avons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     FPort := TComPort.Create(nil);

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    Pour ma part, j'ai souvent utilisé une Form avec TServerSocket ou TClientSocket
    As-tu essayé de faire avec le TServerSocket\TClientSocket une instanciation manuelle comme celle du TComPort, d'affecter les Evènement OnConnect et OnRead en RunTime comme je l'avais proposé dans le sujet Les sockets sous les applications console où il n'y avait ni TForm ni même un TApplication remplacé par un TClientApplication encapsulant un TClientSocket cela fonctionnait très bien en mode ctBlocking (implique un petit thread)

    tu peux utiliser TTCPServer, il fonctionne sans TForm, par contre, il te faut maitriser les Threads
    Il y a aussi TIdTCPServer de Indy
    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

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 27
    Par défaut
    OK, merci. Je vais essayer d'étudier ton exemple.
    Juste par rapport à
    As-tu essayé de faire avec le TServerSocket\TClientSocket une instanciation manuelle comme celle du TComPort
    j'ai essayer mais il semblerait qu'il n'y ai pas de "create", d'où mon inquiétude qu'une Form soit nécéssaire.

    Je vous tiens au courant .

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    Tout objet héritant du TObject a un Create et un Destroy !
    Il y en a un c'est garanti pour le TServerSocket et TClientSocket qui héritent des Constructeurs et destructeurs du TCustomSocket eux mêmes provenant du TComponent

    PS : La documentation en Ligne, est certe 10 ans plus récente que D7 mais pour le TClientSocket\TServerSocket, cela n'a pas bougé de puis D5 ! Tu peux te fier à cette documentation
    Mais tu peux aussi consulter le HLP local de D7 (installe au besoin WinHlp32)
    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 Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    voir les composant ics, et les example avec, il y a même un ou deux sont prés à l'emplois, j'ai déjà utilisé,
    pour utilisé un composant non visuelle et recepteur de message windows sans forms, "comme j'ai dis avant" le meilleur example est la class TTimer, voir son code de création

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    Citation Envoyé par edam Voir le message
    pour utilisé un composant non visuelle et recepteur de message windows sans forms,
    C'est pour cela que TClientSocket\TServerSocket ont une propriété ClientType avec
    • ctNonBlocking\stNonBlocking utilisant des Message via WSAAsyncSelect
    • ctBlocking\stThreadBlocking que l'on manipule via un Stream dans un Thread


    A l'époque Borland avait prévu une utilisation autonome sans devoir bidouiller comme le TTimer
    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

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

Discussions similaires

  1. Touche sans form
    Par petitcoucou31 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 08/02/2006, 00h56
  2. socket activation form
    Par olivier29 dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/01/2006, 18h50
  3. Utilisation de composant sans Form est elle possible
    Par Hypollite76 dans le forum Composants VCL
    Réponses: 26
    Dernier message: 01/12/2005, 12h07
  4. Le chat (avec les sockets) sans frames.
    Par azmeuk dans le forum Langage
    Réponses: 1
    Dernier message: 18/10/2005, 19h47
  5. composant visible sans forme précise. Avez vous un miracle ?
    Par yoghisan dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/02/2004, 00h29

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