Mein ursprünglicher Code ist dieser hier:
Delphi-Quellcode:
procedure TMainForm.ConnectButtonClick(Sender: TObject);
begin
ConnectButton.Enabled := false;
if IdFTP1.Connected then try
if TransferrignData then IdFTP1.Abort;
IdFTP1.Quit;
finally
CurrentDirEdit.Text := '/';
DirectoryListBox.Items.Clear;
SetFunctionButtons(false);
ConnectButton.Caption := 'Connect';
ConnectButton.Enabled := true;
ConnectButton.Default := true;
end
else with IdFTP1 do try
Username := UserIDEdit.Text;
Password := PasswordEdit.Text;
Host := FtpServerEdit.Text;
Connect;
Self.ChageDir(CurrentDirEdit.Text);
SetFunctionButtons(true);
SaveFTPHostInfo(FtpServerEdit.Text, 'FTPHOST');
finally
ConnectButton.Enabled := true;
if Connected then begin
ConnectButton.Caption := 'Disconnect';
ConnectButton.Default := false;
end;
end;
end;
Mit diesem Code kann ich auf allen Servern connecten, die den Port 21 haben.
Nun brauche ich aber auch die Möglichkeit mit einem anderen Port als 21 zu connecten.
Somit hab ich mir dann folgenden Code zusammengeschustert:
Delphi-Quellcode:
procedure TMainForm.ConnectButtonClick(Sender: TObject);
var idftp:Tidftp;
begin
idftp:=TIdftp.Create(Self);
idftp.Username:= UserIDEdit.text;
idftp.Password:= PasswordEdit.Text;
idftp.Port:=StrToInt(Portedit.Text);
idftp.Host:= FtpServerEdit.text;
try
idFTP1.Connect;
IdFTP1.ChangeDir(CurrentDirEdit.Text);
except
showmessage('überprüfe Angaben!!!');
end;
end;
Nun hab ich aber Socket 10061 Fehler, obwohl die Angaben richtig sind und der Server
online ist. Was hab ich falsch gemacht, oder vergessen ...