AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdFTP.Connect springt raus
Thema durchsuchen
Ansicht
Themen-Optionen

IdFTP.Connect springt raus

Ein Thema von Gloegg_FHBI · begonnen am 27. Apr 2010 · letzter Beitrag vom 28. Apr 2010
 
Benutzerbild von Gloegg_FHBI
Gloegg_FHBI

Registriert seit: 28. Nov 2006
Ort: Neuss
46 Beiträge
 
Delphi 10 Seattle Professional
 
#1

IdFTP.Connect springt raus

  Alt 27. Apr 2010, 22:36
Hallo Forum,

Ich möchte in meinem Programm ein paar Dateien nebenher hochladen. Dazu habe ich einen einfachen Thread programmiert.
Leider springt er beim Aufruf von ftp.Connect; einfach aus der Methode, ohne Exception, als hätte ich exit; aufgerufen.

Hier der Quelltext des Threads:

Delphi-Quellcode:
unit uFTPThread;

interface

uses
  Classes, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdExplicitTLSClientServerBase, IdFTP;

type
  TFTPThread = class(TThread)
  private
    { Private-Deklarationen }
    ftp : TIdFTP;
    fIP : string;
    fPort : integer;
    fUser, fPassword : string;
    fActive : boolean;
    fTubeFile, fUserFile : string;
    procedure UpdateUsers;
    procedure UpdateTubes;
  protected
    procedure Execute; override;
  public
    property Host : string read fIP write fIP;
    property Port : integer read fPort write fPort;
    property Username : string read fUser write fUser;
    property Password : string read fPassword write fPassword;
    property Userfile : string read fUserfile write fUserfile;
    property Tubefile : string read fTubefile write fTubefile;
    property Active : boolean read fActive write fActive;
  end;

implementation

{ TMachineThread }

uses
  SysUtils, IdFTPCommon;

procedure TFTPThread.Execute;
begin
  ftp := TIdFTP.Create(nil);
  // Binary Transfer
  ftp.TransferType := ftBinary;

  if Active then
  begin
    try
      ftp.Host := fIP;
      ftp.Port := 21;
      ftp.Username := fUser;
      ftp.Password := fPassword;
      ftp.AutoLogin := true;
      ftp.Connect;
      ftp.Quote('gtwr');
      ftp.ChangeDir('Directory');

      if fUserFile <> 'then
      begin
        UpdateUsers;
      end;
      sleep(100);

      if fTubeFile <> 'then
      begin
        UpdateTubes;
      end;
      sleep(100);

      ftp.Disconnect;
    end;
  ftp.Free;
end;

procedure TFTPThread.UpdateTubes;
begin
  fTaskname := 'Aktualisiere Schlauchdatei';
  Synchronize(setTaskname);
  ftp.Put(fTubefile,'SCHLAUCH.CSV');
end;

procedure TFTPThread.UpdateUsers;
begin
  fTaskname := 'Aktualisiere Benutzerdatei';
  Synchronize(setTaskname);
  ftp.Put(fUserfile,'USER.CSV');
end;

end.
Aufgerufen habe ich es so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  t : TFTPThread;
begin
   t := TFTPThread.Create(true);
  t.Host := '192.169.178.20';
  t.Port := 21;
  t.Username := 'User';
  t.Password := 'password';
  t.Userfile := 'C:\temp\user.txt';
  t.Tubefile := 'C:\temp\tube.txt';
  t.Active := true;
  t.Resume;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz