Einzelnen Beitrag anzeigen

kalmi01
(Gast)

n/a Beiträge
 
#1

Wie TurboPower InternetPro FTP in eigener Unit/Komponente ?

  Alt 25. Aug 2005, 12:20
Hallo,
ich hätte da gern mal ein Problem.

Ich verwende TurboPower InternetPro.
Wenn ich die FTP-Komponente auf eine Form platziere und im Code dann die Konfiguration einbaue funktioniert alles, wie es soll.
Bastel ich mir eine eigene Komponente, mit allen "uses" wie beim Form und der selben Konfiguration, geht leider nichts mehr.
Der Debugger hilft auch nicht wirklich weiter, da es keinen Fehler gibt.

Delphi-Quellcode:
  interface
    uses
      SysUtils, Classes, IpMsg, IpSock, IpUtils, IpSmtp;

    function Send_Mail(MailHost, Absender, Empfaenger, Betreff, MailText, Anhang : string) : boolean;

  implementation
///////////////////////////////////////////////////////////////////////////////////////////////////
// public
///////////////////////////////////////////////////////////////////////////////////////////////////
    function Send_Mail;
      var
        SmtpClient : TIpSmtpClient;
        Disclaimer : TStringList;
        i : integer;
      begin
        //setup SMTP
        SmtpClient := TIpSmtpClient.Create(nil);
        SmtpClient.Message.NewMessage;
        SmtpClient.Message.MailTo.Add(Empfaenger);
        SmtpClient.Message.From := Absender;
        SmtpClient.Message.Subject := Betreff;
    SmtpClient.Message.ContentType := 'multipart';
    SmtpClient.Message.ContentSubtype := 'mixed';

        Disclaimer := TStringList.Create;
        Disclaimer.Add(MailText);
        SmtpClient.Message.EncodeBodyStrings(Disclaimer, '');
        Disclaimer.Free;

       SmtpClient.AttachmentList.Add(Anhang);

        //send mail
        SmtpClient.SendMail(MailHost, false); // <<<<<<<<< hier wird nicht Connected
        for i := 0 to 999
        do begin
             Sleep(100);
             Result := SmtpClient.Connected;
             if Result
             then begin
                    SmtpClient.Quit;
                    Break;
                  end
             else WriteLn(SmtpClient.StateToStr(SmtpClient.State));
           end;
        if not Result
        then WriteLn(SmtpClient.StateToStr(SmtpClient.State));
      end;
  Mit Zitat antworten Zitat