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 :

Problème pour développer un service


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut Problème pour développer un service
    Bonjour,
    Je tente de transposer un code vers un service.
    J'observe que je dois modifier certains algorithmes comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    renamefile('ok.ini','nok.ini');
    renamefile(PChar(ExtractFilePath(ParamStr(0)))+'ok.ini',PChar(ExtractFilePath(ParamStr(0)))+'nok.ini');
    J'ai par contre encore un problème avec une tentative d'envoi d'email:
    Ce code n'est pas accepté:
    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
    var
      //FileNames : string;
      Result : boolean;
    begin
      try
        Result := False;
        //Setup SMTP smtphost, emailport, mailfrom, mailto, mailsubj, mailbody
        SMTP := TIdSMTP.Create(nil);
        SMTP.Host := smtphost;
        SMTP.Port := StrToInt(emailport); //Default email port
        MailMessage.From.Address := mailfrom;
        MailMessage.Recipients.EMailAddresses := mailto+','+mailcc;
        MailMessage.Subject := mailsubj;
        MailMessage.Body.Text := mailbody;
     
        //Send email
        try
          try
            SMTP.Connect;
            SMTP.Send(MailMessage);
            Result := True;
          except
            on E:Exception do
            begin
              ShowMessage('Cannot send E-Mail: ' + E.Message);
              Result := False;
            end;
          end;
        finally
          if SMTP.Connected then SMTP.Disconnect;
      end;
      except
        on E : Exception do
        begin
          ShowMessage('Error in the function SendEmailDelphi: ' + E.Message);
          Result := False;
        end;
      end;
    J'ai tenté l'appel de cette procédure dans le service:
    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
    var
        SMTP: TIdSMTP;
        MailMessage: TIdMessage;
      //FileNames : string;
      Result : boolean;
    begin
      try
        Result := False;
        //Setup SMTP smtphost, emailport, mailfrom, mailto, mailsubj, mailbody
        SMTP := TIdSMTP.Create(nil);
        SMTP.Host := smtphost;
        SMTP.Port := StrToInt(emailport); //Default email port
        MailMessage.From.Address := mailfrom;
        MailMessage.Recipients.EMailAddresses := mailto+','+mailcc;
        MailMessage.Subject := mailsubj;
        MailMessage.Body.Text := mailbody;
     
        //Send email
        try
          try
            SMTP.Connect;
            SMTP.Send(MailMessage);
            Result := True;
          except
            on E:Exception do
            begin
              ShowMessage('Cannot send E-Mail: ' + E.Message);
              Result := False;
            end;
          end;
        finally
          if SMTP.Connected then SMTP.Disconnect;
      end;
      except
        on E : Exception do
        begin
          ShowMessage('Error in the function SendEmailDelphi: ' + E.Message);
          Result := False;
        end;
      end;
    mais sans résultat :-(
    Je ne sais pas non plus comment déboguer un service, sauf en l'installant pour le tester... si vous avez des suggestions...
    Merci d'avance ;-)
    PhilLu



  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 937
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 937
    Par défaut
    Citation Envoyé par PhilLU Voir le message
    Ce code n'est pas accepté
    J'ai tenté l'appel de cette procédure dans le service (...) mais sans résultat :-(
    Et si tu énumérais les erreurs retournées, peut être que ça aiderait

  3. #3
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    Salut AndNotOr,
    Je n'ai aucun message d'erreur
    Malheureusement l'email n'est pas envoyé.
    Le même code dans un exe fonctionne parfaitement
    Pour le reste du service j'ai du modifier du code (voir exemple dans mon post précédent)
    Merci pour tes idées...

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 937
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 937
    Par défaut
    Un ShowMessage dans un service, ça ne va pas le faire.
    Écris dans un fichier ou génère un événement Service1.LogMessage().

  5. #5
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    Bonsoir,
    Oui, j'y ai pensé, mais en supprimant ces messages, pas mieux :-(

  6. #6
    Membre émérite
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Par défaut
    comme je te l'ai déjà dit sur l'autre forum ... ton TIdMessage n'est pas créé
    de ce fait ton message ne peut pas être envoyé

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 937
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 937
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Écris dans un fichier ou génère un événement Service1.LogMessage().

Discussions similaires

  1. Problème pour accèder à un service WEB
    Par Je_Debute dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 07/06/2011, 21h14
  2. Problème pour développer
    Par gotque dans le forum Développement Sharepoint
    Réponses: 4
    Dernier message: 08/09/2010, 15h23
  3. Réponses: 2
    Dernier message: 13/07/2010, 16h30
  4. Réponses: 1
    Dernier message: 25/04/2009, 17h35
  5. Réponses: 2
    Dernier message: 14/12/2007, 10h43

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