RAD Studio 10.1, Indy 10 und RecvBuffersize

    RAD Studio 10.1, Indy 10 und RecvBuffersize

    Moin,

    unter Indy9 funktionierte folgender Code:

    Delphi-Code

    1. procedure FTPHoleRemADV;
    2. begin
    3. Form1.IdFTP1.Passive := true;
    4. Form1.IdFTP1.TransferType := ftBinary;
    5. [color=#FF0000]Form1.IdFTP1.RecvBufferSize := 8192;
    6. Form1.IdFTP1.SendBufferSize := 1024;
    7. [/color]Form1.IdFTP1.Host := 'localhost';
    8. Form1.IdFTP1.Port := 1080;
    9. if Form1.CBMitglied.ItemIndex = 0 then
    10. begin
    11. { Mercado }
    12. Form1.IdFTP1.Username := FtpUserMercado;
    13. Form1.IdFTP1.Password := FtpPasswortMercado;
    14. Form1.IdFTP1.Host := FtpZugangMercado;
    15. end else
    16. begin
    17. Form1.IdFTP1.Username := FtpUserMoe;
    18. Form1.IdFTP1.Password := FtpPasswortMoe;
    19. Form1.IdFTP1.Host := FtpZugangMoe;
    20. end;
    21. Form1.IdFTP1.connect;
    22. Sysutils.ForceDirectories(ArbeitsVerzeichnis +'\Mail\');
    23. Sysutils.ForceDirectories(ArbeitsVerzeichnis +'\REMADV\');
    24. FTPKopiereVerzeichnis('../REMADV', ArbeitsVerzeichnis +'\REMADV\');
    25. FTPLoescheVerzeichnis('../REMADV');
    26. Form1.IdFTP1.Disconnect;
    27. end;


    Jetzt lassen suich die beiden Zeilen

    Form1.IdFTP1.RecvBufferSize := 8192;
    Form1.IdFTP1.SendBufferSize := 1024;

    nicht mehr compilieren - was muss ich da machen oder kann man komplett darauf verzichen ??

    Gruß
    Hans
    ---------------------------------------------------------
    hermann-juergensen.de
    Soweit ich weiß, wird automatisch ein Standard-IOHandler initialisiert und zugewiesen, kann mich aber auch irren. Das lässt sich aber recht einfach prüfen.

    Delphi-Code

    1. ​if not Assigned(Form1.IdFTP1.IOHandler) then
    2. ShowMessage('DeddyH hat Unrecht!')
    3. else
    4. Form1.IdFTP1.IOHandler.RecvBufferSize := 8192;
    10 Minuten Nachdenken ersparen oftmals 10 Stunden Fehlersuche.
    Das habe ich gemacht - jetzt läst sich auch alles kompilieren, aber ....

    die Verbindung kalppt trotzdem nicht - ich bekomme eine "Connection closed Gracefully"-Meldung :(

    Delphi-Code

    1. Form1.IdFTP1.IOHandler := Form1.IdIOHandlerStream1;
    2. Form1.IdFTP1.Passive := true;
    3. Form1.IdFTP1.TransferType := ftBinary;
    4. Form1.IdFTP1.IOHandler.RecvBufferSize := 8192;
    5. Form1.IdFTP1.IOHandler.SendBufferSize := 1024;
    6. Form1.IdFTP1.Host := 'localhost';
    7. Form1.IdFTP1.Port := 1080;
    8. Form1.IdFTP1.Username := UserName;
    9. Form1.IdFTP1.Password := Password;
    10. Form1.IdFTP1.Host := Hostname;
    11. Form1.IdFTP1.connect;


    Also ist da irgendwo noch ein Wurm drin :(

    Hans
    ---------------------------------------------------------
    hermann-juergensen.de
    Sorry, ich muss wirklich blöde Fragen ....

    wenn ich mr das entsprechende Beispielprogramm aus den Tutorials ansehe dann reicht es sogar, wenn ich den Connect so schreibe:

    Delphi-Code

    1. procedure TForm1.btnConnectClick(Sender: TObject);
    2. begin
    3. IdFTP1.Host := edHost.Text;
    4. IdFtp1.Username := edUser.Text;
    5. IdFtp1.Password := edPassword.Text;
    6. IdFtp1.Connect;
    7. end;
    8. end;


    Wenn ich das bei mir mache - und auch den Port und alles andere rausnehme ..... dann gehts 8-) Allerdings bekomme ich beim schliessen des Programmes noch einen Access Violation Error .-.... mal kucken wo der herkommt !

    Hans
    ---------------------------------------------------------
    hermann-juergensen.de