Tengo un problema serio con IdFTP y el evento OnWork. Resulta que tengo un listado de diferentes descargas de archivos por FTP y para cada cual creo runtime un FTP, al los cuales nombro secuencialmente. A cada uno le asigno por ejemplo:
for i:= 1 to 5 do
begin
NewFTP:= IdFTP.Create(Self);
NewFTP.Name:= 'NuevoFTP'+IniToStr(i);
NewFTP.OnWork:= IdFTP1Work; // este evento ya está registrado por un
//control IdFTP real puesto en el Form
//desde el diseño del programa
...
end;
Bien, cada uno dispara correctamente el OnWork, pero no identifica cual es el que lo está llamando. Digamos que el NewFTP2 dispara y cuando entramos a OnWork, no logro saber que es él.
Si usamos ShowMessage(ASender as IdFTP).ClassName, lejos de salir TIdFTP, sale TIdSimpleServer lo que como es lógico no hace refrencia al IdFTP y por lo tanto no puedo saber cual es el que está en ese momento llamando al evento.
No he encontrado en ningún lado referencia a este problema.