Ich versuche gerade, mit Synapse eine Datei von meinem Domain Hoster (df) herunterzuladen. Aus verschiedenen Quellen habe ich mir das folgende auf der Basis von TFTPSend zusammengestrickt:
Code: Alles auswählen
uses ... ftpSend, blcksock, ...
procedure TForm1.btn_getFileClick(Sender: TObject);
begin
// Create TFTPClient
TFTPClient := TFTPSend.Create;
with TFTPClient do
begin
// Set Target-Parameter
TargetHost := ed_Host.Text;
TargetPort := ed_Port.Text;
UserName := ed_user.Text;
Password := ed_passw.Text;
// Try sending file
PassiveMode := true;
DirectFile := True;
DirectFileName := ed_getFile.Text;
DSock.NonBlockMode := True;
// DSock.OnStatus := OnDataStatus;
// OnStatus := OnMainStatus;
Timeout := 30000;
if Login then // <--------- ab hier geht es nicht!
begin
ChangeWorkingDir('/');
remoteFileSize := FileSize(ed_getFile.Text);
RetrieveFile(ed_getFile.Text, false);
Logout;
end
else
begin
// Filetransfer not successful
// ...
end;
Free;
end;
end;
Leider scheitert das Programm schon beim Login. Bisher benutze ich WinINet, das auch unter Lazarus für Windows gut funktioniert. Aber da ich plattformunabhängig werden möchte, dachte ich an Synapse. Aber so schön einfach wie bei WinInet funktioniert das wohl nicht.