CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Problemy z logowaniem IdFTP1

Problemy z logowaniem IdFTP1

problemy z tworzeniem programów do obsługi sieci, internetu, e-mail itp..

Problemy z logowaniem IdFTP1

Nowy postprzez borysewicz » piątek, 24 września 2010, 23:03

Witam

Dział
INTERNET - SIEĆ (Net)
Ściąganie i wysyłanie plików poprzez protokół FTP.

Przerabiam sobie te zagadnienie i natkałem na problem bo nie mogę się zalogować.
Gdy naciskam klawisz pokazuje mi następujący błąd:

Debugger Expection Notification
Project Project2.exe raised expection class EIdNotConnected with Messager ‘Not Connected’
Wybieram Continue

I pojawia się wiadomość z programu:
nie udało się
Kod: Zaznacz cały
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
IdFTP1->Host = "ftp.republika.pl";
IdFTP1->Username = "*****@onet.pl ";  //tu podalem moj mail
  IdFTP1->Password = "*****";    //tu podalem haslo
try
{
  IdFTP1->Login();
}
catch(...)
{
  ShowMessage("nie udało się");
}
}
//---------------------------------------------------------------------------


W ListBox1 dla OnStatus w IdDTP1 nic nie pokazuje.
Co robie źle?
Avatar użytkownika
borysewicz
Bladawiec
Bladawiec
 
Posty: 8
Dołączył(a): czwartek, 23 września 2010, 09:53
Podziękował : 5
Otrzymał podziękowań: 0
System operacyjny: Windows XP Pro SP2
Kompilator: Embarcadero RAD Studio 2010
C++ Builder 2010
Gadu Gadu: 0
    Windows XPOpera

Re: Problemy z logowaniem IdFTP1

Nowy postprzez borysewicz » sobota, 25 września 2010, 00:06

Zrobiłem w ten sposób i udało mi się połączyc:
Kod: Zaznacz cały
   IdFTP1->Host="ftp.republika.pl";
   IdFTP1->Port=21;//i dodalem port
   IdFTP1->Username="******";//tu nie mail tylko nazwa srony
   IdFTP1->Password="*****";
   IdFTP1->Connect();

Tylko teraz mam taki problem dodałem kod na rozłączenie:
Kod: Zaznacz cały
void __fastcall TForm1::Button2Click(TObject *Sender)
{
IdFTP1->Connect(false);
}

to przy kompilacji pokazuje mi:
[BCC32 Error] Unit1.cpp(42): E2285 Could not find a match for 'TIdFTP::Connect(bool)'
Avatar użytkownika
borysewicz
Bladawiec
Bladawiec
 
Posty: 8
Dołączył(a): czwartek, 23 września 2010, 09:53
Podziękował : 5
Otrzymał podziękowań: 0
System operacyjny: Windows XP Pro SP2
Kompilator: Embarcadero RAD Studio 2010
C++ Builder 2010
Gadu Gadu: 0
    Windows XPOpera

Re: Problemy z logowaniem IdFTP1

Nowy postprzez Cyfrowy Baron » sobota, 25 września 2010, 10:00

Nieuważnie czytałeś poradę. Dlaczego jako Username podałeś najpierw adres e-mail, przecież User name znaczy tyle co nazwa użytkownika, więc należy podać nazwę użytkownika. W przypadku hostu na republika.pl nazwa użytkownika i nazwa katalogu zdalnego zwanego przez Ciebie nazwą strony, są takie same, ale nie na wszystkich serwerach tak jest. Dla przykładu dla serwera na którym znajduje się to forum nie mógłbyś podać nazwy strony, gdyż katalog zdalny nosi nazwę domains/programowanie.cal.pl/public_html, ale nazwa użytkownika jest zupełnie inna i należy podać właśnie nazwę użytkownika, a nie nazwę strony.
Dlaczego wspomniałem, że nieuważnie czytałeś poradę z serwisu Cyfrowy Baron?! Dlatego, że gdybyś przeczytał ją do końca, to wiedziałbyś iż do rozłączenia używa się funkcji Disconnect(), a poza tym funkcja Connect nie oczekuje żadnego argumentu, czyli Connect() jest prawidłowo, ale Connect(false) już nie i dokładnie o tym mówi komunikat błędu.


To nie jest odpowiedni dział dla tego problemu. Dla problemów z aplikacjami sieciowymi masz dział: Aplikacje sieciowe. Wątek zostanie przeniesiony.

Dla formatowania kodu masz tak [cpp], który lepiej koloruje kod, więc używaj go zamiast [code]. Dla cytowania błędów masz tag [error], więc używaj tego tagu dla błędów zamiast [code].
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problemy z logowaniem IdFTP1

Nowy postprzez borysewicz » sobota, 25 września 2010, 18:52

Cyfrowy Baron napisał(a):Nieuważnie czytałeś poradę. Dlaczego jako Username podałeś najpierw adres e-mail, przecież User name znaczy tyle co nazwa użytkownika, więc należy podać nazwę użytkownika.

Zwiodło mnie logowanie do konta, wymagany jest e-mail.

Cyfrowy Baron napisał(a): Dlaczego wspomniałem, że nieuważnie czytałeś poradę z serwisu Cyfrowy Baron?! Dlatego, że gdybyś przeczytał ją do końca, to wiedziałbyś iż do rozłączenia używa się funkcji Disconnect(), a poza tym funkcja Connect nie oczekuje żadnego argumentu, czyli Connect() jest prawidłowo, ale Connect(false) już nie i dokładnie o tym mówi komunikat błędu.




To dlaczego w poradniku jest IdFTP1->Connect(false);
KOD cpp:     UKRYJ  
//Plik nagłówkowy np. Unit1.cpp
//------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 IdFTP1->Connect(false);
}
//------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 IdFTP1->Password = "hasło";
 IdFTP1->Username = "użytkownik";
 try
 {
  IdFTP1->Login();
 }
 catch(...)
 {
  ShowMessage("Nie udało się zalogować. Sprawdź czy wpisano poprawnie hasło i nazwę użytkownika.");
 }
}
//------------------------------------------
Avatar użytkownika
borysewicz
Bladawiec
Bladawiec
 
Posty: 8
Dołączył(a): czwartek, 23 września 2010, 09:53
Podziękował : 5
Otrzymał podziękowań: 0
System operacyjny: Windows XP Pro SP2
Kompilator: Embarcadero RAD Studio 2010
C++ Builder 2010
Gadu Gadu: 0
    Windows XPOpera

Re: Problemy z logowaniem IdFTP1

Nowy postprzez Cyfrowy Baron » sobota, 25 września 2010, 19:06

To dlaczego w poradniku jest IdFTP1->Connect(false);


Błąd w poradzie, co nie zmienia faktu, że na końcu porady masz:

http://cyfbar.republika.pl napisał(a):
KOD cpp:     UKRYJ  
void __fastcall TForm1::Button4Click(TObject *Sender)
{
 IdFTP1->Disconect();   // rozłączenie.
}




W nowszych wersjach pakietu INDY funkcja Connect może być użyta na trzy sposoby:

bez argumentów:
KOD cpp:     UKRYJ  
 IdFTP1->Connect();

z argumentem określającym nazwę hosta:
KOD cpp:     UKRYJ  
 IdFTP1->Connect("programowanie.cal.pl");

z argumentem określającym nazwę hosta oraz z argumentem określającym numer portu:
KOD cpp:     UKRYJ  
 IdFTP1->Connect("programowanie.cal.pl", 21);

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
borysewicz
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Aplikacje sieciowe

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość