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

VC++ .NET Discussion :

[debutant]Utilisation de la classe SmtpClient


Sujet :

VC++ .NET

  1. #1
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut [debutant]Utilisation de la classe SmtpClient
    Bonjour a tous,
    Je debute sous VC++ express edition et j'ai trouv� dans l'aide la classe SmtpClient . Je voudrais d�riv�e cette classe pour utiliser ses composants. Comment faire pour pr�ciser au compilateur qu'il doit inclure le fichier qui contient cette classe : sous borland c'�tait include "<SmtpClient.h>" par exemple. La j'ai chercher et ya pas de .h qui correspond a la classe dans les fichiers de VC++ . COmment faut il faire pour inclure une classe de l'aide dans un fichier source que l'on cr�er soit m�me ??

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    c'est normal, c'est une classe .Net
    voir dans la faq : http://dotnet.developpez.com/faq/cpp...al#refassembly

  3. #3
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Ok merci pour le lien vers la FAQ. Si j'ai bien compris je dois utiliser un #using. Par contre quel type de fichier c'est ?? Un .dll .h ?C'est une classe que j'ai trouv� dans l'aide de VC++.

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    c'est un assembly, et comme dit dans la faq l'assembly se d�crit toute seule, il n'y a nul besoin d'inclure de .h pour l'utiliser.
    Il faut simplement referencer cette assembly (qui porte l'extension .dll), de l'une ou l'autre facon d�crit dans la faq

  5. #5
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Ok il fait partie de l'assembly System donc pas besoin de faire le using. Par contre quand je d�rive la classe de cette facon dans mon .h :

    "class MonClientSmtp : public SmtpClient("smtp.monServeurDeMail")"

    Il me marque cette erreur � la compilation :

    "error C2504: 'SmtpClient' : base class undefined"

    Y'a t'il autre chose a faire pour utiliser la classe SmtpClient du framework .NET ??

  6. #6
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Correction : j'ai utilis� le using namespace System::Net::Mail pour corriger l'erreur que je d�cri dans mon pr�c�dent post. Du coup il trouve la classe mais maintenant j'ai cette erreur la :

    "error C3625: 'MonClientSmtp': an unmanaged type cannot derive from a managed type 'System::Net::Mail::SmtpClient'"

    D'apr�s les tuto que j'ai pu lire sur VC++ je dirais que c'est une histoire de classe manag�e ?!
    Je dois donc rendre ma classe manag�e ?
    Comment faire ?
    Est ce que cela va me restreindre dans la suite de ma programmation ??

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    en admettant que tu veuilles faire une classe qui d�rive de smtpclient,
    il faut d�j� d�finir une classe manag�e (mot cl� ref), et ensuite il faut soit sp�cifier sp�cifiquement la classe System::Net::Mail::SmtpClient, soit inclure le namespace System::Net::Mail http://dotnet.developpez.com/faq/cpp...taxe#namespace

  8. #8
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Citation Envoy� par nico-pyright(c)
    en admettant que tu veuilles faire une classe qui d�rive de smtpclient,
    il faut d�j� d�finir une classe manag�e (mot cl� ref), et ensuite il faut soit sp�cifier sp�cifiquement la classe System::Net::Mail::SmtpClient, soit inclure le namespace System::Net::Mail http://dotnet.developpez.com/faq/cpp...taxe#namespace
    J'ai bien fait le using namespace System::Net::Mail; mais j'ai l'erreur de d�rivation d'un classe manag�e dans une classe non-manag�e! Donc si je suis ton raisonnement il faut que je d�clare ma classe MonClientSmtp manag�e!
    Seulement je ne sais pas comment faire ??

  9. #9
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    je me rend compte que la d�finition dans la faq est incompl�te, je vais veiller � approfondir ca http://dotnet.developpez.com/faq/cpp...e#objetmanaged
    il faut alors d�clarer la classe comme je te le sug�rais dans mon pr�c�dent post, avec ref, comme indiqu� dans cette partie de la faq http://dotnet.developpez.com/faq/cpp...#typereference

  10. #10
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Ok j'avais compris le truc de manag�e/non-manag�e. Donc j'ai ajout� le ref.
    Du coup ca fonctionne.
    Nouveau probl�me : j'ai rajout� un argument dans mon constructeur de classe de type string ; et la quand je compil il me cri dessus : le type string n'est pas g�r� sous VC++ ??

  11. #11
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    soit un peu plus pr�cis sur les erreurs
    s'il s'agit du type String de .net, il fait parti du namespace System (attention � la majuscule)
    s'il s'agit du type string du c++, il faut utiliser le namespace std et inclure les .h en cons�quence

  12. #12
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Je viens de QT4 moi donc je suis habitu� � utiliser QString avec un #include QString la ou j'utilise des QString. Comment utiliser des chaine de caract�res sous VC++ ? La classe String permet elle de faire des transtypages faciles ?

  13. #13
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    bien sur, tu peux faire moultes conversions avec les String de .Net, elles sont tr�s simples d'utilisation
    ex :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    String ^ str = gcnew String("Ma chaine");
    voir plus de d�tails sur msdn http://msdn.microsoft.com/library/de...mberstopic.asp

  14. #14
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Ici, la derni�re version de la doc de String :
    http://msdn2.microsoft.com/en-us/lib...rs(VS.80).aspx
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  15. #15
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Ok merci. Juste une petite question : quand je d�clare mon String comme j'ai l'habitude :
    String monString;
    le compilateur m'envoie balader;
    Quand je rajoute le petit "^" ca passe :
    String ^ monString;
    � quoi ser le "^" ap�s le String?

    PS : y'a t'il un bouquin que vous me recommenderiez pour apprendre le fonctionnement de VC++ (express ou complete) � un prix raisonnable ??

  16. #16
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    je te conseille de lire la faq dans un premier temps http://dotnet.developpez.com/faq/cpp...syntaxe#handle
    et pourquoi pas consulter les tutos qu'il y a sur mon site http://nico-pyright.developpez.com/

  17. #17
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Ok merci pour les tutos. Pour le bouquin personne n'a de suggsetion ?

  18. #18
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    ca d�pend de ce que tu appelles raisonnable,
    y a le bouquin de ivor horton � 35 � (en anglais)
    Pas trop mal pour d�buter, sachant qu'il traite rapidement de tous les aspects de base, en passant par les notions de C++, pour aller jusqu'aux Winforms et le C++/CLI en passant par les MFC.

    A noter que c'est bien un livre pour d�buter, on ne trouvera pas de notions approfondies

    NB : MFC => version compl�te de VS2005

  19. #19
    Membre confirm�
    Inscrit en
    D�cembre 2005
    Messages
    114
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2005
    Messages : 114
    Par d�faut
    Ok mais si je cherche un livre c'est pour mieux comprendre! Alors en anglais je pr�fere �viter.
    Je repose ma question : quel(s) livre(s) utiliser pour d�buter en VC++?

  20. #20
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    c'est bien l� le probl�me, en g�n�ral, les bons livres sont en anglais.
    Un bon d�veloppeur doit savoir lire l'anglais.

    Tente ta chance pour commencer du cot� des tutoriels de developpez.com
    Pour MFC, il y a les tutos de farscape

Discussions similaires

  1. R�ponses: 9
    Dernier message: 28/01/2008, 15h29
  2. debutant : classe utilisant une autre classe
    Par zoubla dans le forum D�buter
    R�ponses: 6
    Dernier message: 20/10/2006, 15h40
  3. [debutant] Utilisation de l'operateur = dans une classe
    Par Battosaiii dans le forum D�buter
    R�ponses: 8
    Dernier message: 10/11/2005, 23h01
  4. [Debutant(e)]importer une classe
    Par ber_jp dans le forum Eclipse Java
    R�ponses: 18
    Dernier message: 12/05/2004, 17h39
  5. [debutant] Comment ajouter des .class ?
    Par Slein dans le forum Eclipse Java
    R�ponses: 3
    Dernier message: 30/04/2004, 14h30

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