[ millevlada @ 28.09.2007. 08:47 ] @

Cao svima.
Pokusavam da se iz Delphi aplikacije nakacim na bilo koji ftp server (probao sam cak i na ftp koji sam podigao na svojoj masini). Iz artikala na netu sam procitao da je za to sasvim dovoljan skup metoda WinInet unita. Ali, kako god da popunim parametere nikako ne uspevam da uspostavim ftp konekciju, a ako pokusam da pristupim iz IE bez problema se konektujem (npr, ftp://localhost radi i prikazije strukturu fajlova root-a od ftp inetpub foldera).

Kod koji koristim je sa neta, standardno treba popuniti servername, userID, password, i posle uspesno dobijenog hendla sa InternetOpen, posle InternetConnect hSession mi uvek ostane nil.

hSession:=InternetOpen('MyApp',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);

if Assigned(hSession) then
begin
//dovde uvek prolazi bez problema, hSession <> nil
hConnect:=InternetConnect(hSession,
PChar(ServerName), // probao sam i 'localhost' i 'ftp://localhost' i '127.0.0.1'
INTERNET_DEFAULT_FTP_PORT, // probao sam i sa 0
PChar(UserID), // pobao sam i sa praznim stringom, is sa nekom string vrednoscu
PChar(PassWord), // pobao sam i sa praznim stringom, is sa nekom string vrednoscu
Internet_Service_Ftp,
INTERNET_FLAG_PASSIVE, // probao sam i sa 0
0);

if Assigned(hConnect) then
begin
//ovde nikad nisam stigao jer je uvek hConnect=nil.
...

Jel neko radio slicnu stvar? Jel imao slican problem? Osecam da je neka trivijalna
[ savkic @ 28.09.2007. 10:41 ] @
> Pokusavam da se iz Delphi aplikacije nakacim na bilo koji ftp server (probao sam cak i na ftp koji sam podigao na svojoj masini). Iz artikala na
> netu sam procitao da je za to sasvim dovoljan skup metoda WinInet unita.

Pređi na Indy i TIdFTP, mnogo je lakše.

> if Assigned(hConnect) then

Sa RaiseLastOsError ili InternetGetLastResponseInfo, možeš dobiti informaciju šta je pošlo naopako.
[ priki @ 29.09.2007. 00:51 ] @
u slučaju da neko nema instaliran IE ili ima neku light verziju,
to ti neće raditi

inače, ja sam isto nešto pokušavao preko tih WinApi-ja
mislim da čak ima i post na forumu oko proxy servera
da uradim odredjene stvari, nisam uspeo

indy, kratko i jasno
[ obucina @ 01.10.2007. 06:26 ] @
GetLastError i InternetGetLastResponseInfo ce ti dati informacije sta nije u redu. Najverovatnije neki od parametara.