begin process at 2012 05 29 22:45:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Problème d'utilisation d'un Fonction déclarée dans un .cpp différent.


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

Problème d'utilisation d'un Fonction déclarée dans un .cpp différent.

jeudi 20 août 2009 à 17:20:56 | Problème d'utilisation d'un Fonction déclarée dans un .cpp différent.

Valentintinmar

Bonjour à tous,

Je travaille sur un programme dévellopé sur Visual C++ en unicode, le programme est construits avec plusieurs .cpp et plusieurs .h

Je souhaiterai qu'à la fermeture de mon programme, il utilise la fonction de sauvegarde de données.

Dans AppOPCClient.cpp
ma fonction est définie ainsi :
void CAppOPCClientApp::OnItemExport()
{
...
Procédure de sauvegarde
...
}

Et elle est déclarée dans AppOPCClient.h de la manière suivante :
public:
//{{AFX_MSG(CAppOPCClientApp)
afx_msg void OnItemExport();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()


à la fermeture de mon programme, dans MainFrm.cpp

void CMainFrame::OnClose()
{
if (bNew==true)
{
CString pit1="The item list has been changed, would you like to Save it before closing ?";
CString pit2="Warning";
//MessageBox(pit1,pit2,MB_OKCANCEL);
if (MessageBox(pit1, pit2, MB_OKCANCEL)== IDOK)
{
CAppOPCClientApp::OnItemExport();
}
}


bool bStop = StopTimer(IDT_TIMER_SCREEN_REFRESH);
if (false==bStop)
TRACE(_T("Failed to stop Refresh Timer"));
bStop = StopTimer(IDT_TIMER_READ_MODE);
if (false==bStop)
TRACE(_T("Failed to stop Read Timer"));

CFrameWnd::OnClose();
}

à la complation j'obtiens alors l'erreur suivante :
error C2352: 'CAppOPCClientApp::OnItemExport' : appel non conforme d'une fonction membre non static, voir la déclaration de 'CAppOPCClientApp::OnItemExport'

Je suis débutant (ce qui n'est pas une excuse) mais même en fouillant sur les différents forums/faq je n'arrive pas à obtenir un résultat convaincant, toute aide est donc la bienvenue ^^

jeudi 20 août 2009 à 21:31:08 | Re : Problème d'utilisation d'un Fonction déclarée dans un .cpp différent.

juju12

Réponse acceptée !

La fonction que tu souhaites appeler n'est pas statique, elle est associée à une instance de classe particulière; tu crées bien quelque part une instance de CAppOPCClientApp, alors c'est cet objet qu'il faut utiliser pour appeler la fonction.
C'est un problème de cohérence : tu essaies d'appeler une fonction qui travaille avec des données membres de classe, mais sans lui dire sur quel objet travailler.

vendredi 21 août 2009 à 09:11:49 | Re : Problème d'utilisation d'un Fonction déclarée dans un .cpp différent.

Valentintinmar

Merci, ça m'a permis de recadrer mes recherches, ce n'est pas évident de travailler à partir d'un programme conçu par d'autres ^^



Cette discussion est classée dans : fonction, programme, cpp, cappopcclientapp, onitemexport


Répondre à ce message

Sujets en rapport avec ce message

Fonction vers DLL [ par logisim ] Quelqu'un pourrait-il m'aider à transformer une fonction Visual Cpp en DLL pour Visual Basic ?En Cpp :int TradUnimarc(FILE *fpU, FILE *fdb){// code}En rediriger le retour d'une fonction ?! [ par kod32 ] Salut,je souhaiterais dans mon programme (en C) stocker le résultat de la fonction system() dans un buffer.Malheureusement j'ai constaté que la foncti net use * /delete EN C++ [ par LeBobo ] Salut. J'ai un petit programme qui utilise la fonction : system(''net use * /delete'') ; Le problème est que mon programme à une interface graphique w Vérifier le bon déroulement de mon prog ds 1 TMemo [ par ivdz ] Bonjour, J'ai développé sous C++ builder 6 un programme avec une interface qui possède des TEdit, 2 boutons (Valider et Quitter) et un TMemo. Le bouto ouvrir un programme [ par Adeon ] Salut!y a t-il une fonction qui est cappable d'ouvrir un programme que l'on defini dans la fonction.Bien sure, quand je dis ouvrir, ce n'est pas dans strcat() ???? [ par supergrey ] Salut tout le monde, jai un petit probleme avec la fonction strcat() , je commence a peine un programme que deja je bloque la dessus jaimerai de l'aid analyseur d'expression [ par loicus ] Voila, je cherche une fonction, qui pourrait transformer une expression (suite de char) en une ligne de code qui sera utiliser par le programmeex : ma Démarer un programme [ par supergrey ] Bonjour, je voudrais savoir comment lancer un .exe a partir d'un programme j'ai essayé ca:system("start c:/Mes jeux/jeu1.exe");Mais cette fonction n'a Exportations de fonction EXE --> DLL [ par rclsilver02 ] Voila. Je suis sur un projet qui pourra gérer des modules. Chaque module se trouver dans une DLL et pourra utiliser des fonction du programme principa erreur de conception? [ par frdestroyers27 ] Salut a tous!ca serait pour savoir si je fait une erreur de conception!j'ai un fichier main.cpp avec la fonction WinMain dedans qui contient juste un


Nos sponsors


Sondage...

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 : 0,390 sec (3)

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