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

API, COM et SDKs Delphi Discussion :

bloc try/except et API windows


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut bloc try/except et API windows
    est ce qu'une fonction de l'API windows (WinExec, CopyFile,...) exécutée dans un bloc try/except permet de recupérer le message d'erreur E.message si l'opération se passe mal ?

  2. #2
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 959
    Points
    959
    Par défaut
    je sais pas mais il me semble que toutes les fonction de l'API windows retourne une valeur 0 ou 1 ou un boolean pour indiquer si elle se sont bien dértoulé ou pas, et il y a tjr une variable d'erreur (GetLastError) qui permet de retrouver la dernière erreur system

  3. #3
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut
    oui GetLastError renvoie le code erreur mais je préférerai avoir un message texte : c'est plus parlant

    _________________
    [Doublon supprimé par Lil_jam63]

  4. #4
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par jakouz
    oui GetLastError renvoie le code erreur mais je préférerai avoir un message texte : c'est plus parlant
    tiré de l'aide SDK

    To obtain an error string for operating system error codes, use the FormatMessage function. For a complete list of error codes, see the WINNT.H header file in the Win32 SDK.
    vas y voir FormatMessage dans le SDK

  5. #5
    Candidat au Club
    Inscrit en
    Février 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function MAKELANGID(dwLang : WORD; dwSubLang : WORD) : DWORD;
    begin
       Result := (dwSubLang shl 10) or dwLang;
    end;
     
    //----------------------------------------------------------------------------//
     
    procedure TaProcedure;
    var
       lpMsgBuf : Pointer;
    begin
     
       WinExec('existe_pas', 0);      // erreur
     
       FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM, nil, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), LPTSTR(@lpMsgBuf), 0, nil);
       MessageBox(0, lpMsgBuf, 'GetLastError', MB_OK or MB_ICONINFORMATION);
       LocalFree(Cardinal(lpMsgBuf));
     
    end;

  6. #6
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut
    super ! j'ai trouvé une fonction dans l'API Delphi qui fait le boulot :
    SysErrorMessage

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

Discussions similaires

  1. Gestion exception (retourner dans le bloc try)
    Par hotman1313 dans le forum Langage
    Réponses: 6
    Dernier message: 14/10/2014, 10h03
  2. Réponses: 29
    Dernier message: 14/01/2013, 10h40
  3. Bloc try Except
    Par zemeilleurofgreg dans le forum Bases de données
    Réponses: 16
    Dernier message: 04/07/2008, 14h29
  4. tutoriel : La programmation de l'API Windows en C++ par Bob
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 19
    Dernier message: 21/06/2008, 14h34
  5. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28

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