Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2804 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  p'ti prog qui se connect a un serveur ftp marche pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

p'ti prog qui se connect a un serveur ftp marche pas

n°792334
neg'gwada
rafix 971
Posté le 10-07-2004 à 11:07:12  profilanswer
 

voila, j'essai de faire une connection a un serveur ftp mais je ne vois pas pourquoi ca ne marche pas, apparement c'est un probleme de linkage avec une librairie mais je ne sais pas comment faire, j'ai cherché mais...
 

Code :
  1. #include<iostream.h>
  2. #include <afxinet.h>
  3. int main(void){
  4. CInternetSession session("ma session" );
  5. CFtpConnection* pConn = NULL;
  6. pConn = session.GetFtpConnection("ftpperso.free.fr","monlogin","mdp",21);
  7. if(!pConn->CreateDirectory("test_de_c++" )){
  8. cout<<"le le dossier ne s'est pas créé..."<<endl;
  9. }
  10. delete pConn;
  11. session.Close();
  12. return 0;
  13. }

la compilation : 0 erreurs, et c'est au build qu'il chit [:spamafote]


---------------
--- WinSplit Revolution ---
mood
Publicité
Posté le 10-07-2004 à 11:07:12  profilanswer
 

n°792346
m0rbac
Posté le 10-07-2004 à 11:20:02  profilanswer
 

mmmh tu es sûr d'avoir branché correctement ton cable réseau ?
 
non, je rigole  :D  
 
Essaie peut-être ça, c'est un code que j'ai piqué d'un bouquin, mais je n'ai pas eu l'occasion de le tester  :pfff:  
Apparemment il y a un peu de MFC, mais au premier coup d'oeil c'est tout à fait possible de l'enlever, et ça ne devrait pas poser de problème.

Code :
  1. // Initialisation de WinInet et connexion sur le fournisseur d'accès
  2.   CInternetSession session(_T("FTPConnect" ), 1, INTERNET_OPEN_TYPE_PRECONFIG);
  3.   CFtpConnection* pServer = NULL;
  4.   try
  5.   {
  6.     UpdateData(TRUE);
  7.     pszURL = m_Adresse;
  8.     if (!AfxParseURL(pszURL,dwServiceType,NomServeur,strObject,nPort))
  9.     {
  10.       MessageBox("Mauvais URL" );
  11.     }
  12.     // Définition d'un objet CFtpConnexion
  13.     pServer = session.GetFtpConnection(NomServeur);
  14.    
  15.     // Recherche du site
  16.     CString disque = m_Fichier;
  17.     if (!pServer->GetFile(m_Fichier, disque)) {
  18.       MessageBox("Fichier introuvable" );
  19.     }
  20.     pServer->Close();
  21.     delete pServer;
  22.   }
  23.   catch (CInternetException* pEx)
  24.   {
  25.     // Récupération des erreurs WinInet
  26.     TCHAR s[1024];
  27.     pEx -> GetErrorMessage(s,1024);
  28.     TRACE1("Erreur : ", s);
  29.     pEx->Delete();
  30.   }


Message édité par m0rbac le 10-07-2004 à 11:21:23
n°792716
tyrion42
Posté le 10-07-2004 à 22:01:14  profilanswer
 

Si c'est une erreur d'édition des liens, il faudrait peut-être mettre le message d'erreur ? (+ le compilo)
 
A vue d'organe olfactif, le problème semble être lié à l'absence des libs de MFC (dont CFtpConnection fait partie).

n°792757
neg'gwada
rafix 971
Posté le 11-07-2004 à 00:03:33  profilanswer
 

tyrion42 a écrit :

Si c'est une erreur d'édition des liens, il faudrait peut-être mettre le message d'erreur ? (+ le compilo)
 
A vue d'organe olfactif, le problème semble être lié à l'absence des libs de MFC (dont CFtpConnection fait partie).

ouais c'est ca mais je ne sais pas comment appeller la lib MFC [:spamafote]


---------------
--- WinSplit Revolution ---
n°792853
m0rbac
Posté le 11-07-2004 à 11:17:27  profilanswer
 

Essaie de modifier les settings de compilation et d'utiliser le mode "Multithreaded" ou "Multithreaded DLL".

n°793145
neg'gwada
rafix 971
Posté le 11-07-2004 à 22:48:37  profilanswer
 

m0rbac a écrit :

Essaie de modifier les settings de compilation et d'utiliser le mode "Multithreaded" ou "Multithreaded DLL".

:heink: j'vois comment faire, et ce que ca va changer??? je vais tester...


---------------
--- WinSplit Revolution ---
n°796749
neg'gwada
rafix 971
Posté le 15-07-2004 à 17:12:15  profilanswer
 

alors personne peu m'expliquer comment linker avec la bonne lib?


---------------
--- WinSplit Revolution ---
n°797897
m0rbac
Posté le 16-07-2004 à 16:45:20  profilanswer
 

Normalement lorsque tu crées un projet sous VisualC avec le "MFC AppWizard (exe)", tu as des options qui te permettent de choisir comment linker la lib MFC. Tu peux aussi spécifier si tu veux utiliser la WinSock.
Je ne sais pas comment tu as créé le projet, mais si tu ne l'as pas fait comme ça, essaie de recréer un nouveau projet et d'y placer tes sources.

n°797949
neg'gwada
rafix 971
Posté le 16-07-2004 à 17:50:06  profilanswer
 

justement je ne veux pas creer un projet MFC Wizard, ce que je veux c'est juste utiliser les librairie dans une console application. Sinon pour la winsock, j'ai cherché mais je ne trouve rien qui explique comment l'utiliser pour etablir une connexion avec un serveur ftp [:w3c compliant], la pluspart des liens c'est pour faire des trucs qui ne m'interessent pas.


Message édité par neg'gwada le 16-07-2004 à 17:51:14

---------------
--- WinSplit Revolution ---
n°798476
neg'gwada
rafix 971
Posté le 17-07-2004 à 13:52:33  profilanswer
 

:sweat: maintenant j'essai d'utiliser la librairie Wininet.h, mais meme si je n'est rien dans mon main ca me met un message d'erreur dès la compilation de :

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <Wininet.h>
  4. void main()
  5. {
  6. }


ca me dit:

Compiling...
main.cpp
c:\program files\microsoft visual studio\vc98\include\wininet.h(48) : error C2146: syntax error : missing ';' before identifier 'HINTERNET'
c:\program files\microsoft visual studio\vc98\include\wininet.h(48) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
 
main.obj - 2 error(s), 0 warning(s)

donc c'est a priorie une erreur qui vient du fichié wininet.h, mais ca me surprant quant meme.... je dois avoir un probleme de conception ou d'approche sur l'utilisation de certaines librairies :'(  
quelqu'un peu m'aider?


Message édité par neg'gwada le 17-07-2004 à 13:54:44

---------------
--- WinSplit Revolution ---
mood
Publicité
Posté le 17-07-2004 à 13:52:33  profilanswer
 

n°798491
m0rbac
Posté le 17-07-2004 à 14:20:03  profilanswer
 

En général j'obtient ce message quand j'utilise les MFC. Pour le corriger, il me suffit d'ajouter un include au début du fichier. Essaie donc d'ajouter ça:

#include "stdafx.h"


... pour autant que le fichier existe
Chez moi, le stdafx.h est défini ainsi:

Code :
  1. // stdafx.h : include file for standard system include files,
  2. //  or project specific include files that are used frequently, but
  3. //      are changed infrequently
  4. //
  5. #if !defined(AFX_STDAFX_H__8456DF7E_B0F6_4E0F_B04D_2A43F019E369__INCLUDED_)
  6. #define AFX_STDAFX_H__8456DF7E_B0F6_4E0F_B04D_2A43F019E369__INCLUDED_
  7. #if _MSC_VER > 1000
  8. #pragma once
  9. #endif // _MSC_VER > 1000
  10. #define VC_EXTRALEAN  // Exclude rarely-used stuff from Windows headers
  11. #include <afxwin.h>         // MFC core and standard components
  12. #include <afxext.h>         // MFC extensions
  13. #include <afxdisp.h>        // MFC Automation classes
  14. #include <afxdtctl.h>       // MFC support for Internet Explorer 4 Common Controls
  15. #ifndef _AFX_NO_AFXCMN_SUPPORT
  16. #include <afxcmn.h>        // MFC support for Windows Common Controls
  17. #endif // _AFX_NO_AFXCMN_SUPPORT
  18. //{{AFX_INSERT_LOCATION}}
  19. // Microsoft Visual C++ will insert additional declarations
  20. // immediately before the previous line.
  21. #endif // !defined(AFX_STDAFX_H__8456DF7E_B0F6_4E0F_B04D_2A43F019E369__INCLUDED_)

n°798501
neg'gwada
rafix 971
Posté le 17-07-2004 à 14:34:00  profilanswer
 

ben ca change en:

c:\program files\microsoft visual studio\vc98\include\stdafx.h(46) : fatal error C1083: Cannot open include file: 'afxdhtml.h': No such file or directory
Error executing cl.exe.

[:spamafote] ca me decourage de plus en plus, car je ne veux absolument pas creer de projet MFC.... [:w3c compliant]


---------------
--- WinSplit Revolution ---
n°798604
m0rbac
Posté le 17-07-2004 à 18:32:32  profilanswer
 

neg'gwada a écrit :

ben ca change en:

c:\program files\microsoft visual studio\vc98\include\stdafx.h(46) : fatal error C1083: Cannot open include file: 'afxdhtml.h': No such file or directory
Error executing cl.exe.

[:spamafote] ca me decourage de plus en plus, car je ne veux absolument pas creer de projet MFC.... [:w3c compliant]


Et en enlevant la référence à afxdhtml.h ?
 
Non, il ne faut jamais se décourager  :ange: , c'est tellement plus drôle de péter les plombs un bon coup et de lancer son ordi par la fenêtre (n'oublie pas de filmer la scène, merci  :D )


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  p'ti prog qui se connect a un serveur ftp marche pas

 

Sujets relatifs
Euro et W3C : marche passupprimer un repertoire sur le serveur
[ Javascript ] Un JS qui marche pas sous IE ? :-([Apache ou autre] Serveur web sur CD ?
controle active-X winsock et serveur pop3(débutant)[ASP] Qu'est ce qui ne marche pas dans mon code ? ( simple )
[PHP] Session - marche pas ! [RESOLU] :-)Equipe de prog pure basic
[JSP-Oracle] Plusieurs INSERT INTO ds un FOR ne marche pas...encoder sur un serveur distant
Plus de sujets relatifs à : p'ti prog qui se connect a un serveur ftp marche pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR