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 :

Exception d'application avec EPrinter


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair� Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, C�te d'Or (Bourgogne)

    Informations professionnelles :
    Activit� : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par d�faut Exception d'application avec EPrinter
    Bonjour tous!

    Je suis entrain de tester une application qui a besoin d'une imprimante.
    Mais si l'imprimante n'existe pas, mon application provoque une classe d'exception EPrinter.

    J'aimerais supprimer ce message par un autre de ma compostion. J'ai donc penser au try {}, catch{} dans la fiche du WinMain

    j'ai donc �crit :

    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
     
    .....
    try
    {
      Application->Initialize();
      .....
      .....
    }
    catch (EPrinter &e)
    {
        ShowMessage("Pas d'imprimante installée");
        Application->Terminate();
    }
     
    catch(...)
    {
    }
    J'ai ses erreurs l� d�s que je met le catch(EPrinter &e)
    [C++ Erreur] Cathild.cpp(124): E2303 Nom de type attendu.
    [C++ Erreur] Cathild.cpp(124): E2377 ) manquante dans l'instruction Catch.


    Ne connaissant pas trop le fonctionnement des try & catch, j'aimerai que quelqu'un m'explique ses erreurs.

    merci
    @+

  2. #2
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    le try catch est simple, le programme essaye d'executer le code contenue dans le try, si il n'y arrive pas, il vas voir le catch, et entre dans le catch dons la propri�t� est l'exception qui � �t� provoqu�, maintenant, cherche quel est la ligne 124, a mon avis c'est la ligne catch(...), qui n'a rien � faire dans ce code, si c'est l'autre c'est qu'il ne connai pas l'exception EPrinter

  3. #3
    Membre �clair� Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, C�te d'Or (Bourgogne)

    Informations professionnelles :
    Activit� : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par d�faut
    La ligne 124 correspond � la ligne juste au dessus du catch{Eprinter}
    L'erreur EPrinter je l'ai trouv� dans l'aide donc je pensais que cela marcherai. Je vais regard� dans le tableau d'erreur si il y en a une autre.

    Par contre la variable e je ne sais pas trop ce que sait. Je pense que c'est un pointeur qui pointe sur le type d'erreur, Ai je tord ou raison? Elle est d�clar� nulle part. C'est une variable propre au syst�me?

    merci de ton aide Pottiez

  4. #4
    Membre �clair� Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, C�te d'Or (Bourgogne)

    Informations professionnelles :
    Activit� : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par d�faut
    voila pourquoi j'ai utilis� EPrinter :

    EPrinter est la classe des exceptions pour les erreurs d'impression.

    Unit�
    printers

    Description

    EPrinter est provoqu�e lors d'une erreur d'impression. Si, par exemple, une application tente d'utiliser une imprimante qui n'existe pas ou si un travail d'impression ne peut pas �tre transmis � l'imprimante pour une autre raison, une exception EPrinter est provoqu�e.

  5. #5
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    Ta variable e est un objet de type EPrinter, dont l'adresse est pass� au catch, pour lui permettre de r�cup�r� le message d'erreur, si lorsque tu est dans le catch, tu fais un ShowMessage(e), a prioris ca t'affiche l'erreur Windows qui c'est produite.

    Je n'ai pas r�agis tout de suite mais ou ce situe ton code ? a priorie, si tu est dans une classe ou une fiche, tu ne devrais pas avoir Application->Initialize() dans ton try.

  6. #6
    Membre �clair� Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, C�te d'Or (Bourgogne)

    Informations professionnelles :
    Activit� : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par d�faut
    Mon catch se fait dans le project1.cpp. Si je le met dans ma fiche principale, les erreurs d�crient plus haut ne sont pas d�tect�es.

    Mon probl�me est que l'application plante d�s le d�part (Message : Abnormal ....) si il n'y a pas d'imprimante d'installer. Je pensais contourner ce message par un message de mon cru.

    Je me demande pas si le mal n'est pas plus profond que cela. Lorsque je fais du pas � pas, BCB4 me demande printer.pas.

Discussions similaires

  1. Exception a la fermeture d'une application avec c++ builder
    Par lydafree dans le forum C++Builder
    R�ponses: 11
    Dernier message: 28/08/2010, 15h46
  2. R�ponses: 10
    Dernier message: 30/06/2004, 13h00
  3. Exception 'instruction privil�gi�e' avec TDLPort
    Par jphi5 dans le forum C++Builder
    R�ponses: 21
    Dernier message: 11/11/2003, 16h40
  4. Conseils pour developper une application avec Oracle
    Par belugha dans le forum Langages de programmation
    R�ponses: 5
    Dernier message: 02/06/2003, 16h03
  5. [VB6]Fermer une application avec VB
    Par Mylou dans le forum VB 6 et ant�rieur
    R�ponses: 3
    Dernier message: 04/04/2003, 21h32

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