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

cs_soulama 8 Messages postés lundi 13 mars 2006Date d'inscription 7 mai 2007 Dernière intervention - 18 oct. 2006 à 00:09 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention
- 23 oct. 2006 à 06:07
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,
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 18 oct. 2006 à 01:49
3
Merci
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 ?

Merci f0xi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de f0xi
cs_soulama 8 Messages postés lundi 13 mars 2006Date d'inscription 7 mai 2007 Dernière intervention - 18 oct. 2006 à 08:56
0
Merci
Merci f0xi, je vais reorganiser mon code et je teste, jte tien au jus :)
Commenter la réponse de cs_soulama
cs_soulama 8 Messages postés lundi 13 mars 2006Date d'inscription 7 mai 2007 Dernière intervention - 18 oct. 2006 à 09:00
0
Merci
2 plus la fonction ce deroule dans un Thread separé
Commenter la réponse de cs_soulama
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 23 oct. 2006 à 06:07
0
Merci
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;

Commenter la réponse de f0xi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.