Italian community of Lazarus and Free Pascal
Programmazione => Generale => Topic aperto da: Stefano - Luglio 21, 2012, 05:58:47 pm
-
sto usando Indy 10, per connettermi ad un server Alice ftp.webalice.it,
componente IdTCP , ma non c'e' verso.
porta 21 del router aperta, eseguibile Lazarus abilitato su Firewall Win7.
--- stesso identico codice su Delphi e Indy10 entra senza problemi
idTCPClient1.Host := 'ftp.webalice.it';
idTCPClient1.Port := 21;
IdTCPClient1.Disconnect;
IdTCPClient1.IOHandler.Free; //cancella Buffer per evitare Errore Already Connected
try
idTCPClient1.Connect;
try
IdTCPClient1.IOHandler.WriteLn('Client message');
IdTCPClient1.IOHandler.ReadLn;
finally
IdTCPClient1.Disconnect;
end;
except
ShowMessage('Errore connessione');
end;
-
verificato stesso problema su CodeTyphoon rel. 2.70 (sulla Rel. 2.40 invece funziona),
e' una rogna la rel. Indy e' sempre la 10.
la connessione TCP con INet o Synapse invece funziona.
-
ho provato ad eseguire la connessione da una VM con WinXP, sempre Indy10 e CodeTyphoon 2.70, e non si verifica l'errore in fase di connessione.
per la cronoca l'errore si verifica sulla unit
IdStackWindows linea 1235
{$IFDEF UNICODE_BUT_STRING_IS_ANSI}
LTemp := WideString(AHostName); // explicit convert to Unicode
{$ENDIF}
if UseIDNAPI then begin
1235 RetVal := getaddrinfo(PChar(IDNToPunnyCode(AHostName)), nil, @Hints, @LAddrInfo);
end else begin
RetVal := getaddrinfo(
{$IFDEF UNICODE_BUT_STRING_IS_ANSI}PWideChar(LTemp){$ELSE}PChar(AHostName){$ENDIF},
nil, @Hints, @LAddrInfo);
end;
verificata la unit e' identica a quella presente in Delphi (XE2).