Einzelnen Beitrag anzeigen

Benutzerbild von meg91
meg91

Registriert seit: 25. Apr 2006
131 Beiträge
 
Turbo Delphi für Win32
 
#1

IndyFTP Fortschritt bei Upload

  Alt 11. Okt 2009, 19:49
Hallo Community,
es geht um folgendes: Ich möchte eine Datei per FTP auf einen Server laden. Der einzige Lösungsansatz, welchen ich bisher zum Funktionieren überzeugen konnte, ist die Indy-Variante. Da ich leider nur eine Turbo-Delphi Version habe, bleibt es mir verwehrt die Komponenten einfach auf der Form zu platzieren.
So habe ich alles schön erstellt, nur bei der Zuweisung der Prozeduren für eine Fortschrittsanzeige scheitere ich kläglich, es gibt immer Fehlermeldungen mit Parametern, auch im Forum habe ich bislang noch keine Lösung gefunden, um non-VLC erstellten Indy-Komponenten Prozeduren zuzuweisen.
Wo liegt hier der Fehler? Der FTP-Upload an sich funktioniert, nur möchte auch gerne sehen was voran geht...

Gruß Markus

Delphi-Quellcode:
var
  indy_FTPClient: TIdFTP;

procedure Tfo_uploader.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  ProgressBar1.Position := AWorkCount;
  Application.ProcessMessages;
end;

procedure Tfo_uploader.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  ProgressBar1.Max := AWorkCountMax;
end;

procedure Tfo_uploader.IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
ProgressBar1.Position := 0;
end;

procedure Tfo_uploader.FormCreate(Sender: TObject);
begin
  indy_FTPClient := TIdFTP.Create;

  indy_FTPClient.OnStatus := IdFTP1Status;

  indy_FTPClient.OnWorkBegin := IdFTP1WorkBegin(indy_FTPClient, wmRead, 100); // es geht um diese Parameter
  indy_FTPClient.OnWorkEnd := IdFTP1WorkEnd;
  indy_FTPClient.OnWork := IdFTP1Work;
end;
  Mit Zitat antworten Zitat