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

Composants VCL Delphi Discussion :

[Indy] attachement d'une piece jointe ne marche pas


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut [Indy] attachement d'une piece jointe ne marche pas
    Bonsoir

    Mon code ligne 6 deviens rouge à la compilation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TCourriel.Button1Click(Sender: TObject);
    begin
      if OpenDialog1.Execute then
    Edit1.Text:=OpenDialog1.FileName;
    if not (Edit1.Text='')
    then TidAttachment.Create(IdMessage1.MessageParts,Edit1.Text);
    end;
    end.
    Pourriez vous m'aider Merci.

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut Re: attachement d'une piece jointe ne marche pas
    Citation Envoyé par pierrot67
    Mon code ligne 6 deviens rouge à la compilation:
    Je ne l'avais jamais vu présenté comme ça
    Quel est le message d'erreur?
    Et est-ce que le code que tu donnes contient bien la ligne 6? En d'autres termes, montre la ligne ou le compilateur s'arrête...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    Merci pour la réponse


    message d'erreur :trop de paramêtre originaux.

    Avertissement : Construction d'instance de TidAttachment Contenant la methode abstraite 'TidAttachment.OpenLoadStream'.

    En rouge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    then TidAttachment.Create(IdMessage1.MessageParts,edit1.text);

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par pierrot67
    Merci pour la réponse


    message d'erreur :trop de paramêtre originaux.

    ...

    En rouge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    then TidAttachment.Create(IdMessage1.MessageParts,edit1.text);
    Là ça veut dire que TidAttachment.Create() attend moins de 2 paramètres

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    comment moins de 2 paramètres?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par pierrot67
    comment moins de 2 paramètres?
    L'interface du constructeur de TidAttachment n'attend pas 2 paramètres comme dans ton appel. (ou alors ce n'est pas le code de la ligne 6 )

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    j'ai mis code de la ligne 6 pour t'indiquer ou il se trouve dans le code que j'affiche sur le forum.

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Re-bonjour,

    Peux-tu m'indiquer (avec l'aide des composants Indy) quelle est la décaration de la fonction Create du composant TIdAttachement ?

    Je pense que le problème vens de là. Quels sont les paramètres attendus pas cette fonction ?

    Je crois que dès que tu auras répondu cette question, tu auras en fait résolu ton problème

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    je pense que tu as raison je n'ai effectivement pas utilisé l'évenement OnCreateAttachement. si c'est de ça que tu parles.

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par pierrot67
    je pense que tu as raison je n'ai effectivement pas utilisé l'évenement OnCreateAttachement. si c'est de ça que tu parles.
    Non, je parle de la fonction Create(). Le constructeur de l'objet TidAttachement.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    A mon avis ce qui ne convient pas est le 2ème argument.

    La fonction renvoie probablement une collection qui doit etre stoquée dans

    une matrice et non dans une simple variable comme le composant edit.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    voila tout le code mais j'ai lu sur le net qu'il y avait eu un changement avec les composants indy 10.


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    procedure TCourriel.Button3Click(Sender: TObject);
    begin
    Close;
    end;
     
    procedure TCourriel.Button2Click(Sender: TObject);
    begin
    Screen.Cursor:=crHourGlass;
    IdMessage1.Clear;
    IdMessage1.From.Text :=Edit4.Text;
    IdMessage1.ReplyTo.EMailAddresses:=Edit4.Text;
    IdMessage1.Recipients.EMailAddresses:=edit3.text;
    IdMessage1.Date:=Date;
    IdMessage1.Subject:=edit2.text;
    IdMessage1.Priority:=mpNormal;
    IdMessage1.Body.Assign(Memo1.Lines);
    if not (Edit1.Text='')
    then Tidattachment.create(IdMessage1.MessageParts,edit1.text);
    IdSMTP1.AuthType:=atdefault;
    IdSMTP1.Host:='SMTP.free.fr';
    IdSMTP1.Port:=25;
    IdSMTP1.UserName:='xxxxx';
    IdSMTP1.Password:='xxxxx';
    IdSMTP1.Connect;
    try
    IdSMTP1.Send(IdMessage1);
    finally
    IdSMTP1.Disconnect;
    Screen.Cursor:=crDefault;
    Statusbar1.panels[0].text := 'le message à été envoyé';
    end;
    end;
     
    procedure TCourriel.Button1Click(Sender: TObject);
    begin
    if OpenDialog1.Execute then
    Edit1.Text:=OpenDialog1.FileName;
    end;
     
    end.
    [Edit]
    Bonjour

    je voulais juste informer les personnes comme moi qui débutent et qui se retrouverons devant ce problème en ce qui concerne l'attachment dans un mail avec les composants indy10
    ce n'est plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tidattchment.create (Idmessage.MessageParts,editx.text);
    Mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tidattchmentfile.create (Idmessage.MessageParts,editx.text);
    C'est en référence à l'exellent tuto sur le net. je pense que les débutants on tous tendance à le récupérer et si ils ont des composants indy10 il auront des problèmes d'attachment.

    Merci.

Discussions similaires

  1. Recuperer une piece jointe dans la boite de reception
    Par elbronziero dans le forum Linux
    Réponses: 4
    Dernier message: 15/07/2007, 18h01
  2. faire une piece jointe?
    Par mbouzouita dans le forum Wildfly/JBoss
    Réponses: 8
    Dernier message: 16/05/2007, 13h36
  3. [ASP 3] Envoyer un Mail avec une piece jointe générer
    Par soltani.slim dans le forum ASP
    Réponses: 4
    Dernier message: 15/02/2006, 10h16
  4. Indy - email, html et piece jointe
    Par nut62 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 13/12/2002, 10h25

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