Erreur de vérification étendue [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
7 mai 2007
-
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
Salut,


jai ecris un code pour me connecter sur un Serveur FTP, le code marche
bien sur une machine XP, mais sur une machine Win98 jai l'erreur
suivante:


ERangeError: erreur de vérification étendue.


voila mon Code:
function FtpAccess.ConnectToSFTPServer(User, Passwd, Host, Port: String): boolean;
begin
Result:= False ;
SSL:= TIdSSLIOHandlerSocketOpenSSL.Create(FTP);
SSL.ReadTimeout := 60000;
SSL.SSLOptions.Method := sslvSSLv23;
SSL.SSLOptions.Mode := sslmClient;
FTP:= TIdFTP.Create(nil);
FTP.AutoLogin:= True;
FTP.IOHandler := SSL ;
FTP.AutoLogin := True;
FTP.Passive := True;
FTP.UseTLS := utUseExplicitTLS;
FTP.AUTHCmd := tAuthSSL;
FTP.DataPortProtection:= ftpdpsPrivate ;
FTP.Username:= USER;
FTP.Password:= Passwd;
FTP.Host:= HOST;
FTP.Port:= StrToInt(Port) ;
FTP.Disconnect ;
Try
FTP.Connect ;
Result:= True ;
Excepton E:Exception do
Begin
MyDataModule.AddToFtpLog('ERROR Func ConnectToSFTPServer', E.Message);
MyDataModule.Log('ERROR Func ConnectToSFTPServer',E.className+' ' +E.Message);
end ;
End ;
end;



je suis sur Delphi 7, et indy 10.


Merci pr toute info,
A voir également:

4 réponses

Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
30
var
FTP : TIdFTP = nil;
SSL : TIdSSLIOHandlerSocketOpenSSL = nil;

function FtpAccess.DisconnectFTP : boolean;
begin
if Assigned(FTP) then begin
FTP.disconnect;
FreeAndNil(FTP);
end;
if Assigned(SSL) then
FreeAndNil(SSL);
end;

function FtpAccess.ConnectToSFTPServer(User, Passwd, Host, Port: String): boolean;
begin
Result:= False ;

if not Assigned(FTP) then
FTP := TIdFTP.Create(self);

if not Assigned(SSL) then
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(FTP);

with SSL do begin
ReadTimeout := 60000; // attention si c'est en seconde ou milliseconde
SSLOptions.Method := sslvSSLv23;
SSLOptions.Mode := sslmClient;
end;

with FTP do begin
AutoLogin := True;
IOHandler := SSL;
AutoLogin := True;
Passive := True;
UseTLS := utUseExplicitTLS;
AUTHCmd := tAuthSSL;
DataPortProtection:= ftpdpsPrivate;
Username := User;
Password := Passwd;
Host := Host;
Port := StrToIntDef(Port,21); // on utilise StrToIntDef au cas ou
end;
Try
FTP.Connect;
Result:= FTP.Connected;
Except
on E : Exception do Begin
MyDataModule.AddToFtpLog('ERROR Func ConnectToSFTPServer', E.Message);
MyDataModule.Log('ERROR Func ConnectToSFTPServer',E.className+' ' +E.Message);
end;
end;
end;



aprés il se peut que les api FTP/Socket soit differente Indy pour XP et indy pour 98 ... sans parler des differences enorme de systeme.
mais qui utilise encore windows 98 ?

Messages postés
8
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
7 mai 2007

Merci f0xi, je vais reorganiser mon code et je teste, jte tien au jus :)
Messages postés
8
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
7 mai 2007

2 plus la fonction ce deroule dans un Thread separé
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
30
mmm faire attention avec les Thread, si tu utilise des variables externe au thread il faut faire cela :

Threadvar
   ident : type;

plutot que :

var
   ident : type;