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

Lazarus Pascal Discussion :

Utilisation de Indy 10 [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Novembre 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 69
    Billets dans le blog
    1
    Par défaut Utilisation de Indy 10
    Bonjour,

    J'essaie de migrer de Turbo Delphi sur Lazarus et après quelques tentatives infructueuses j'ai réussi à installer le package Indy 10 dans Lazarus.
    Je peux donc expliquer comment je m'y suis pris...
    Mais je ne suis pas encore au bout de mes peines car maintenant il faut le faire marcher.

    La première difficulté que je rencontre est d'affecter une méthode au serveur TCP onconnect.
    Sous Delphi c'était simple il suffisait d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      IdTCPServer1.OnExecute:= IdTCPServer1Execute;
      IdTCPServer1.OnDisconnect:= IdTCPServer1Disconnect;
      IdTCPServer1.OnConnect:= IdTCPServerconnect;
    Avec Lazarus, d'abord on me dit qu'il manque des paramètres d'appel. Or à ce niveau de déclaration il n'y en a pas de défini.
    Lorsque je les supprime dans la procédure, alors il m'est dit que ce n'est pas le même type, et lorsque je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      IdTCPServer1.OnExecute:= @IdTCPServer1Execute;
    J'ai encore un message plus curieux :
    otc.pas(115,28) Error: Incompatible types: got "<procedure variable type of procedure of object;Register>" expected "<procedure variable type of procedure(TIdContext) of object;Register>"
    Comment dois-je procéder ?

    Merci..

  2. #2
    Membre émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Par défaut
    Bonjour

    C'est parce que la syntaxe pour affecter une méthode est différente entre Lazarus et Delphi, hélas.

    Il faut écrire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IdTCPServer1.OnExecute:= @IdTCPServer1Execute;

  3. #3
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 117
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 117
    Par défaut
    Salut,

    Je me mêle peut-être de ce qui ne me regarde pas, mais :
    Citation Envoyé par tintinux Voir le message
    (...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IdTCPServer1.OnExecute:= @IdTCPServer1Execute;
    ce n'est pas ce qu'il a déjà essayé ? :
    Citation Envoyé par GerardJ Voir le message
    (...) et lorsque je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      IdTCPServer1.OnExecute:= @IdTCPServer1Execute;
    J'ai encore un message plus curieux:
    otc.pas(115,28) Error: Incompatible types: got "<procedure variable type of procedure of object;Register>" expected "<procedure variable type of procedure(TIdContext) of object;Register>"

  4. #4
    Membre confirmé

    Inscrit en
    Novembre 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 69
    Billets dans le blog
    1
    Par défaut
    Merci les gars, j'ai trouvé!
    En fait lors du premier essai, j'avais supprimé le paramètre d'appel, mais je ne l'avais pas restitué lors du second essai, ce qui générait une erreur.
    Le message d'erreur était inadéquat mais en remettant le paramètre cela a marché...
    Merci!

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

Discussions similaires

  1. [Indy 9] Utilisation de tIdPop3
    Par Higgins dans le forum Delphi
    Réponses: 2
    Dernier message: 10/04/2007, 08h51
  2. [INDY] -> IdIdentServer comment l'utiliser ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 9
    Dernier message: 06/08/2003, 16h00

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