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 :

Détecter Erreur


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 22
    Par défaut Détecter Erreur
    Salut à tous,

    je récupère dans un TEdit une chaine, que j'exécute ensuite avec WinExec. Aucun problème jusque là, cependant si on tappe une commande erronée dans le TEdit, rien ne se passe, alors que si on tappe la meme commande dans la boite Exécuter de Windows, on obtient un message d'erreur.

    J'aimerais pouvoir faire de même et ainsi afficher un message d'erreur dans mon programme lorsque le texte tappé dans TEdit ne donne rien une fois exécuté par WinExec...


    J'ai entendu parler de la classe exception, mais je ne crois pas que cela réponde à ce que je cherche.

    Si quelqu'un peut me donner une piste, je l'en remerci d'avance

  2. #2
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    tu peux utiliser la fonction FileExists pour vérifier si le fichier indiqué dans ton TEdit existe, et déclencher un message d'erreur si nécessaire

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 22
    Par défaut
    Citation Envoyé par denokan
    tu peux utiliser la fonction FileExists pour vérifier si le fichier indiqué dans ton TEdit existe, et déclencher un message d'erreur si nécessaire
    Non car il peut s'agir d'une commande comme d'un fichier.

    Par exemple
    rundll32.exe user,exitwindows
    c'est correct en WinExec mais ça renvoie une erreur avec FileExists.

  4. #4
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    salut,
    tu as essayé avec la fonction ShellExecute ? fais un tour du coté de la FAQ pour savoir comment elle fonctionne ou alors tu lis l'API windows

  5. #5
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    Citation Envoyé par fgsav
    Par exemple
    rundll32.exe user,exitwindows
    dans ce cas tu fais un test sur rundll32.exe

  6. #6
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    Citation Envoyé par denokan
    Citation Envoyé par fgsav
    Par exemple
    rundll32.exe user,exitwindows
    dans ce cas tu fais un test sur rundll32.exe
    je ne suis pas entièrement d'accord avec toi denokan, car ce fgsav a donné était à titre d'exemple, à priori on ne sait pas exactement ce que l'user entrera dans l'edit !
    moi je conseillerais plutot d'utiliser la fonction ShellExecute, de plus avec cette fonction, on peut récupérer un code de retour (voir FAQ ou aide Win32 SDK).
    enfin, l'utilisation de la fonction WinExec est déconseillée, car étant maintenue juste à titre de rétro-compatibilité

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 22
    Par défaut Merci les gens :p
    Merci à tous,

    j'ai modifié le prog pour utiliser shellexecute à la place de winexec.
    ce qui n'a pas été sans engendrer de nouveaux problèmes...
    Mais le résultat obtenu est celui recherché.

    Merci encore

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

Discussions similaires

  1. [AC-2003] Détecter erreur import fichier excel
    Par daimadoshi dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/06/2010, 16h26
  2. [TPrinters] détecter annulation/erreur impression
    Par Droïde Système7 dans le forum Langage
    Réponses: 48
    Dernier message: 12/05/2008, 04h08
  3. Réponses: 7
    Dernier message: 27/08/2006, 20h17
  4. Réponses: 1
    Dernier message: 13/06/2006, 15h11
  5. Comment détecter une erreur dans un process
    Par chuckboy dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2005, 10h40

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