begin process at 2012 05 28 11:15:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

[Aide] Erreur avec ma classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Aide] Erreur avec ma classe

vendredi 5 mars 2010 à 12:18:20 | [Aide] Erreur avec ma classe

Nixeus


Bonjour à tous,


Je viens de chercher comment utiliser les connexion internet en C++/MFC.
J'ai donc trouvé des exemples, et j'ai testé ces exemple dans mon programme : Cela fonctionne.

J'ai donc décidé de me créer une classe CInternet afin d'y faire des fonctions/procédures. Le soucis est que depuis que j'ai crée cette classe j'ai des erreurs de links qui semblent être liées à des inclusions croisées, alors que je n'ai pas l'impression d'en avoir.

J'ai passé 1h30 à chercher hier soir , et je ne m'en sors pas :(

Je voudrais savoir si quelqu'un aurait une idée :

Voici tout d'abord la configuration fonctionnelle de mon sources ( Avant que je fasse ma classe ), ce code étant donc dans la classe de ma boite de dialogue ( oui , ça n'est pas propre, c'était juste pour tester )

[code]

#include <initguid.h>
#include "connmgr.h"
#include <commctrl.h>
#define INITGUID
#include <connmgr.h>

*Ne pas oublier de linker en entrée :
cellcore.lib wininet.lib

* Si erreur de link : Désactiver les entêtes précompilées du sources

void CTestPDADlg::OnBnClickedButton1()
{


HANDLE phConnection;
CONNMGR_CONNECTIONINFO ConnInfo;
ZeroMemory(&ConnInfo, sizeof(ConnInfo));
ConnInfo.cbSize = sizeof(ConnInfo);
ConnInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
ConnInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP | CONNMGR_FLAG_PROXY_WAP | CONNMGR_FLAG_PROXY_SOCKS4 | CONNMGR_FLAG_PROXY_SOCKS5;
ConnInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
ConnInfo.guidDestNet = IID_DestNetInternet;
ConnInfo.bExclusive = FALSE;
ConnInfo.bDisabled = FALSE;

//----------check gprs status-------------

DWORD dwStatus = 0;
ConnMgrConnectionStatus(&phConnection,&dwStatus);

if(dwStatus!=CONNMGR_STATUS_CONNECTED)

{
AfxMessageBox(L"disconnected",0,0);
}

//-------------------------

HRESULT hResult = ConnMgrEstablishConnectionSync(&ConnInfo, &phConnection, 10*1000, &dwStatus );

//----------check gprs status-------------

ConnMgrConnectionStatus(&phConnection,&dwStatus);

if(dwStatus==CONNMGR_STATUS_CONNECTED)

{
AfxMessageBox(L"connected",0,0);
}

}
[/code]

Dans ce cas donc, tout fonctionne. IHM et Code sont mélangés, j'ai donc voulu créer ma classe :

Internet.h
[code]

#include <initguid.h>
#include "connmgr.h"
#include <commctrl.h>
#define INITGUID
#include <connmgr.h>

#pragma once

class CInternet
{
private :
HANDLE m_phConnection;
CONNMGR_CONNECTIONINFO m_ConnInfo;
DWORD m_dwStatus;
public:
CInternet(void);
~CInternet(void);
bool Connect();
void Disconnect();
bool IsConnected();

};
[/code]

internet.cpp
[code]
#include "StdAfx.h"
#include "Internet.h"


CInternet::CInternet(void)
{
ZeroMemory(&m_ConnInfo, sizeof(m_ConnInfo));
m_ConnInfo.cbSize = sizeof(m_ConnInfo);
m_ConnInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
m_ConnInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP | CONNMGR_FLAG_PROXY_WAP | CONNMGR_FLAG_PROXY_SOCKS4 | CONNMGR_FLAG_PROXY_SOCKS5;
m_ConnInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
m_ConnInfo.guidDestNet = IID_DestNetInternet;
m_ConnInfo.bExclusive = FALSE;
m_ConnInfo.bDisabled = FALSE;
m_dwStatus = 0;
}

CInternet::~CInternet(void)
{
}

bool CInternet::Connect()
{
HRESULT hResult = ConnMgrEstablishConnectionSync(&m_ConnInfo, &m_phConnection, 10*1000, &m_dwStatus );
ConnMgrConnectionStatus(&m_phConnection,&m_dwStatus);
if(m_dwStatus==CONNMGR_STATUS_CONNECTED)
{
return true;
}
else
{
return false;
}

}

void CInternet::Disconnect()
{
ConnMgrReleaseConnection(m_phConnection,true);
}

bool CInternet::IsConnected()
{
ConnMgrConnectionStatus(&m_phConnection,&m_dwStatus);

if(m_dwStatus=CONNMGR_STATUS_CONNECTED)
{
return true;
}
else
{
return false;
}
}

[/code]


Jusque la tout se compile sans problème , ma classe me parait donc bonne.

Le problème : Je vais dans la classe de ma boite de dialogue, je fais un


#include "internet.h"

Je compile, et là :
Erreur 1 error LNK2005: IID_DestNetInternet déjà défini(e) dans Dialog1Dlg.obj Internet.obj TestPDA
Erreur 2 error LNK2005: IID_DestNetCorp déjà défini(e) dans Dialog1Dlg.obj Internet.obj TestPDA
Erreur 3 error LNK2005: IID_DestNetWAP déjà défini(e) dans Dialog1Dlg.obj Internet.obj TestPDA
Erreur 4 error LNK2005: IID_DestNetSecureWAP déjà défini(e) dans Dialog1Dlg.obj Internet.obj TestPDA
Erreur 5 fatal error LNK1169: un ou plusieurs symboles définis à différentes reprises ont été rencontrés Windows Mobile 5.0 Pocket PC SDK TestPDA


C'est donc lors de la déclaration du .h que j'ai un soucis :(

Je ne vois vraiment pas d'ou cela vient.

Je vous remercie tous d'avance de l'attention que vous porterez à ce message,

Bien cordialement,

Nixeus


Cette discussion est classée dans : include, conninfo, connmgr, dwstatus, cinternet


Répondre à ce message

Sujets en rapport avec ce message

c koi les fichiers h? [ par etmerde ] je suis débutant(mais alors là, plus nul que ça tu trouves pas), et j'ai vu dans les codes c++ des trucs du genre include (machinchose.h) ou un truc d Dev-C++ #include <gl\gl.h> [ par How To ] #include #include #include ...je débute avec C++ et j'ai Dev-C++ 4.01 mais je n'ai pas les [g]library[/g] nécessaire pour un code source que j'ai tél Include camarchepas.c [ par Budykiller ] salut, je suis sous devC++ et je realise un programme de merde. il marchait jusqu'a ce que je le décompose en partie (niveau.c, chiffre.c et test.c) p Descriptif des fichiers INCLUDE [ par manu ] Bonjour, je cherche qqun qui puisse me lister la liste des fichier h d'include et a quoi ils servent ?Tel que :// Fichiers à inclure#include // pour prob. compilateur c++ [ par error ] salut a tous je debute dans la programmation en c++ j'ai po mal de livres mais dans mes livre il ya la fonction #include j'ai un prob mon compilateur Tableau de correspondance des fonctions c++ et de leur fichier #include [ par guguy ] BonjourJ'aimerais savoir s'il serait possible de trouver un tableau de correspondance entre les fonctions c++ et leur fichier #include (ex : cout -> i fprintf de factorielles ! [ par Xs ] voila, je comprend pas pourquoi le prog me met une erreur lors de l'execution alors que le compilateur et le linker n'ont rien vu d'anormal !#include Dans le genre prenant........ [ par Xs ] oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l pour le generateur nfo ca marche mais pas la. [ par Xs ] bonjours !je suis en train de me faire un logicielpour gerer ma collection de CDs mais voila : lepricipal probleme est que dans les titres, y'a bien a C++ Standard ? [ par mmuller57 ] Voila, je viens d'aller sur le site de Bjarne Stroustrup et j'y ai pris un exemple de code source en C++ standard :#include#includeusing namespace std


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,607 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales