IdFTP - dwa problemy

0

Tworze klienta ftp w Delphi 7 Personal i znalazłem dwa problemy, a mianowicie:

  1. Szukam procedury, idFTP, która spowoduje zatrzymanie wysyłania pliku lub pobierania.
  2. Ten problem jest już bardziej skomplikowany, ponieważ po pewnym czasie nieużytkowania programu połączenie zostaje automatycznie rozłączone. Chodzi tu o limit czasu połączenie. Chciałbym jedynie zrobić, aby w momencie rozłaczenia pokazywał informacje o ponowny połączeniu się z serwerem.

Bardzo proszę o pomoc, bo nigdzie nie mogę tego znaleźć w google. [glowa]

0
  1. możesz użyć kodu
if not IdFTP1.Connected then
begin

IdFTP1.Connect();
showmessage('lacze ponownie z serwerem');
end;

możesz też sprawdzić status połączenia idftp ma taką możliwość

0

Ok zrobiłem tak, lecz nie wiem co zrobić bo gdy wcisnę przycisk rozłącz pojawia się błąd.

procedure TKlient.IdFTP1Status(ASender: TObject; const AStatus: TIdStatus;
  const AStatusText: String);
begin
  if AstatusText = 'Disconnecting.' then
  begin
  IdFTP1.Connect();
  showmessage('lacze ponownie z serwerem');
  end;
end;
0

jaki błąd się pojawia ?

0

błąd to:
"Project ClientFTP.exe raised exception class EIdAlreadyConnected with message 'Already connected.'. Process stopped. Use Step or Run to continue."
Tego błędu nie da się wyłączyć.

0

No i ci pisze ze wywolujesz Connect kidy połączenie istnieje daj wczsniej Disconnect i dopiero Connect i bedzie działać

0

Nie ma już błędu. Kod wygląda teraz tak:

  if AStatus = hsDisconnected then
  begin
  IdFTP1.Connect;
  showmessage('lacze ponownie z serwerem');
  end;

Działa to tylko w przypadku normalnego rozłączenia przez przycisk czyli IdFTP.Disconnect. Od momentu gdy następuje auto rozłączenie procedura nie zostaje wywołana.

0

Może ktoś przynajmniej zna rozwiązanie pierwszego problemu? :-|

1 użytkowników online, w tym zalogowanych: 0, gości: 1