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 :

Try catch dans une dll - possible ?


Sujet :

C++Builder

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Points : 92
    Points
    92
    Par défaut Try catch dans une dll - possible ?
    bonjour,

    je voudrais savoir si les try catch dans une dll sont possibles,

    car lorsque j'éxécute ce code qui se situe dans une dll

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    bool   __stdcall Ipds_ConnectDistant()
    {
      ClientSocket = new TClientSocket(NULL);
      ClientSocket->Host = Ip;
      ClientSocket->Port = Socket;
      ClientSocket->ClientType = ctBlocking;
      try{  ClientSocket->Open();}
      catch(...){ return false;}
      return true;
    }
    et bien lorsque le serveur n'est pas actif, j'obtient une exception mais elle ne rentre pas dans le catch :'(

    j'ai tenté avec ESocketError et ca ne fonctionne pas non plus

    si quelqu'un pouvait m'éclairer sur ce point.

    merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Points : 92
    Points
    92
    Par défaut
    je viens de voir que les sockets lancent un événement lorsqu'une erreur se produit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void __fastcall ClientSocketError(TObject *Sender,
          TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
    comme ma socket est créer dynamiquement, j'utilise cette instruction pour définir la méthode a utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClientSocket->OnError = ClientSocketError;
    mais lorsque je compile, j'obtient ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [C++ Erreur] dll.cpp(370): E2034 Impossible de convertir 'void (_fastcall *)(TObject *,TCustomWinSocket *,TErrorEvent,int &)' en 'void (_fastcall * (_closure )(TObject *,TCustomWinSocket *,TErrorEvent,int &))(TObject *,TCustomWinSocket *,TErrorEvent,int &)'
    quelqu'un serait il pourquoi et comment résoudre cette erreur ?

    merci

Discussions similaires

  1. [PostgreSQL] try catch dans une transaction
    Par Cyanatide dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 18/10/2011, 11h56
  2. Utilisation de try catch dans une procédure de backup de database
    Par megtrinity dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 05/11/2009, 14h53
  3. Try, catch dans une fonction
    Par mactwist69 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 10/07/2008, 16h39
  4. Try/ catch dans une fonction ActionPerformed
    Par thomas2929 dans le forum Langage
    Réponses: 13
    Dernier message: 09/06/2008, 12h06

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