Вниз
Скачать: CL | DM;

FTP&indy Проблема при уничтожения FTPServer - a   Найти похожие ветки 

 
Vyacheslav ©   (2004-12-03 14:10) [0]

В вобшем такая проблема Мастера. Вызываем Destroy.
в строке (FreeAndNil(FIdFTPServer1)) возникает ощибка EIdClosedSocket with Message "Disconnected".. Эта ощибка возникает только если в момент уничтожения есть активный клиент..
Если клиент закрыл ссесию сам то Destroy проходит нормалньо

destructor TFTPServerThread.Destroy;
var f:TList;
   i:integer;
begin
 f := FIdFTPServer1.Threads.LockList;
 for i:=f.Count-1 downto 0 do begin
   IdFTPServer1Disconnect(TIdPeerThread(f[i]));
 end;
 try
   FreeAndNil(FIdFTPServer1); // Ощибка Здесь
 except
 end;
 inherited;
end;

procedure TFTPServerThread.IdFTPServer1Disconnect(AThread: TIdPeerThread);
var ActClient : TBotFTPUser;
begin
 if assigned(TBotFTPUser(AThread.Data)) then begin
   ActClient := TBotFTPUser(AThread.Data);
   try
     FIdFTPServer1.Threads.LockList.Remove(ActClient);
   finally
     FIdFTPServer1.Threads.UnlockList;
   end;
   ActClient.Free;
   AThread.Data := nil;
 end;
end;

//на ето можете не смотреть...так для обшего понимания
type TBotFTPUser=class
 filename:String;
 uploading:Boolean;
end;


 
Jel ©   (2004-12-04 15:06) [1]

Возможно не успевает отработать Disconnect?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
14-1106550846
NewDelpher
2005-01-24 10:14
2005.02.13
Что за глюк Delphi 7 буквой "я"


1-1107083549
ТехникПТО
2005-01-30 14:12
2005.02.13
PChar в String


14-1106663738
}|{yk
2005-01-25 17:35
2005.02.13
Никто не встречал системы


1-1106592290
e-statik
2005-01-24 21:44
2005.02.13
а ПОДСКАЖИТЕ компонент сплиттер чтоб ресайзить окна как в 3DMAXe?


3-1105554636
MNz
2005-01-12 21:30
2005.02.13
Удаление записи




   Наверх