Facendo qualche prova per collegarmi, via FTP, ad un sito Wbb mi sono imbattuto in uno stranissimo problema.
Scenario:
Leggo la password registrata in chiaro in un file INI (lo so che è un cattiva pratica, ma è solo una prova)
La password è ABCDEFGH (esempio).codice:Dim X As Long Dim Temp As String * 200 X = GetPrivateProfileString("GiudiziWeb", "PswFTP", "", Temp, Len(Temp), NomeFileIni) If X > 0 Then PswFTP = Left$(Temp, X) ITC.Password = PswFTP
Tutto OK con il programma su 4 diversi computer, con il client FTP FileZilla e con il vecchio ma sempre valido client FTP WS_FTP95.
Poi ho modificato, accedendo al pannello di controllo del sito, la password che è diventata ABCDEFGH22!
Adesso solo 1 su 4 computer il programma funziona senza intoppi. Anche con Filezilla.
Ma 3 su 4 computer e WS_FTP95 si rifiutano di stabilire la connessione.
Se però imposto la password da codice invece di memorizzarla nel file INI
4 su 4 computer tornano a funzionare, eliminando la prima ipotesi che mi era venuta in mente (la password non può essere più lunga che di certo numero di caratteri).codice:PswFTP = "ABCDEFGH22!"
Ipotizzerei, ma la cosa mi pare ben strana essendo la variabile PswFTP una stringa, che il punto esclamativo finale confonda la DLL che sta dietro il GetPrivateProfileString e il programma crede di aver a che fare con una variabile single. Ma in tal caso perchè su un singolo computer è possibile stabilire la connessione ?
Differenti versioni delle DLL ?
Prossimamente farò altre prove per eliminare questi sospetti e capire questo stranissimo comportamento; adesso non ne ho la possibilità.
Scrivo questo per condividere con i frequentatori del forum questo problema.