Accueil > Forum > > > > encapsuler api (sans mfc) dans une seule classe
encapsuler api (sans mfc) dans une seule classe
lundi 15 novembre 2004 à 17:00:57 |
encapsuler api (sans mfc) dans une seule classe

mannix
|
Bonjour à tous, voilà je débute en c++ mais j'ai quand meme reussi à programmer une api qui fonctionne ! mais mon probleme est que ce doit etre un soft "embarqué" et pour cela je dois incorporer le source de cette petite api au source du robot sous forme d'une classe Comment dois-je m'y prendre svp? merci d'avance pour vos reponses... PS : j'utilise vc++
|
|
lundi 15 novembre 2004 à 18:57:05 |
Re : encapsuler api (sans mfc) dans une seule classe

Arnotic
|
Bonjour,
Tu veux inclure le code des APIs Windows dans un programme embarqué ? Si c'est cela je te répond déjà que c'est impossible.
Pour avoir l'expérience de travailler sur des systems embarqués tu as les libs de ton DSP ou autre proc de ton system à utilisé.
@+ Arnotic, Admin CS, MVP Visual C++
|
|
mardi 16 novembre 2004 à 10:00:56 |
Re : encapsuler api (sans mfc) dans une seule classe

|
Salut Arnotic, je vai m'expliquer un peu sur mon projet car il n'est (je le pense) pas impossible. en effet, je travaille sur un robot piloté en haut niveau par un prog en c++. Ce programme possede un noyau auquel on peut ajouter des fonctionnalités comme un "recorder" qui permet d'enregistrer les commandes de vitesse ,angle (...) envoyées. mon api à moi est un simulateur ie il reproduit les commandes et emule les capteurs; il renvoie donc des infos qui doivent correspondre à celles que reçoit le noyau... bref voila pour le contexte
ce n'est pas moi qui est programmé le coeur du prog mais on(mes boss) m'a dit qu'il serait preferable d'encapsuler mon api sous forme d'une seule classe qu'on "grefferait" au noyau pour faire des simulations... je sais que sous linux il existe des commandes du genre 'fork' qui permettent de lancer des proc en parallele et d'établir des liens entre eux mais sous windows ....
en résumé (pour ne pas faire trop long) je voudrai savoir si tu as des exemples en tete (ou des liens) qui me permettraient d'en savoir un peu plus à ce sujet.
Merci de ton attention, @ plus Mannix
|
|
mardi 16 novembre 2004 à 10:15:18 |
Re : encapsuler api (sans mfc) dans une seule classe

Arnotic
|
Bonjour,
Tu peux en effet encapsuler TES fonctions sous forme de classe se qui te permettra de les réutilisers facilement.
Concernant les gestions des process et des threads sous Windows va voir sur msdn les fonctions CreateProcess(), CreatePipe et ses compagnons ainsi que CreateThread(), ...
http://msdn.microsoft.com/library/
@+ Arnotic, Admin CS, MVP Visual C++
|
|
mardi 16 novembre 2004 à 14:13:21 |
Re : encapsuler api (sans mfc) dans une seule classe

BruNews
|
CreateThread() est contre indique quand on utilise des classes, il faut utiliser _beginthreadex() pour que la memoire soit correctement geree. Richter explique cela en details: http://brunews.free.fr/brunews/download/JR4.zip http://brunews.free.fr/brunews/download/JR4Sources.zip
ciao... BruNews, MVP VC++
|
|
mercredi 17 novembre 2004 à 11:31:49 |
Re : encapsuler api (sans mfc) dans une seule classe

mannix
|
Merci à tous les deux, je vais me plonger là dedans. Je donnerai des nvelles quand j'aurai avancé.
@+ Mannix
|
|
jeudi 18 novembre 2004 à 16:15:48 |
Re : encapsuler api (sans mfc) dans une seule classe

mannix
|
Bonjour, j'ai un probleme avec la fonction _beginthreadex. J'ai 1 erreur à la compilation : '&' : illegal operation on bound member function expression voici mon code (pour tester la fonction) j'ai créé une classe simulator et dans simulator.cpp il y a : #include <windows.h> #include <stdio.h> #include <process.h>
#include "Simulator.h"
Simulator::Simulator() { }
Simulator::~Simulator() {
}
unsigned int __stdcall Simulator::SimProc(LPVOID) { HWND hwnd; MessageBox(hwnd,"thread","essai",MB_OK); }
void Simulator::startsim() { hThread = (HANDLE) _beginthreadex ( NULL , 0 , &SimProc , NULL , 0 , &threadID ) ; }
|
et dans simulator.h : class Simulator { public: unsigned int __stdcall SimProc (LPVOID); Simulator(); virtual ~Simulator(); HANDLE hThread; HANDLE hEvent; unsigned int threadID; void startsim();
};
|
je ne suis pas un chef dans le maniement des classes et j'ai beau chercher, je ne vois pas ce qu'il veut me signifier par "fonction membre attachée". je voudrai savoir si vous savez comment gerer ce type d'erreur. Merci de vos réponses 
|
|
jeudi 18 novembre 2004 à 16:27:36 |
Re : encapsuler api (sans mfc) dans une seule classe

BruNews
|
Simulator::SimProc doit etre declaree 'static' car compilo doit connaitre son adresse. N'oublie pas de retourner une valeur.
ciao... BruNews, MVP VC++
|
|
jeudi 18 novembre 2004 à 16:43:29 |
Re : encapsuler api (sans mfc) dans une seule classe

mannix
|
merci pour l'info ça marche mais maintenant y'a un probleme pendant le link : Linking...
Simulator.obj : error LNK2001: unresolved external symbol "public: static unsigned int __stdcall Simulator::SimProc(void *)" (?SimProc@Simulator@@SGIPAX@Z) LIBCMTD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 Debug/essai thread2.exe : fatal error LNK1120: 2 unresolved externals Error executing link.exe.
essai thread2.exe - 3 error(s), 0 warning(s)
|
est-ce un probleme de librairie ?? j'ai essayé de rajouter libcmt.lib ou msvcrt.lib mais c'est pire (conflit avec libcmtd.lib)! Merci pour ton attention BruNews
|
|
jeudi 18 novembre 2004 à 16:53:22 |
Re : encapsuler api (sans mfc) dans une seule classe

BruNews
|
A ce point ça devient mystique, faudrait etre devant pour regler le prob, desole.
ciao... BruNews, MVP VC++
|
|
Cette discussion est classée dans : classe, mfc, api, seule, encapsuler
Répondre à ce message
Sujets en rapport avec ce message
Utiliser la classe MFC CHtmlEditCtrl [ par appstmd ]
Salut !Quelqu'un sait-il comment on fait pour spécifier le contenu d'un contrôle CHtmlEditCtrl sans passer par une adresse Internet ou un fichier HTML
MFC ou API? [ par payen ]
salut a tous,juste une petite question : pour programmer une appli graphique MDI, les MFC sont mieux adaptées que les API, non?
RichEdit et OLE ... [ par Nebula ]
Salut à tous !Je voudrais insérer des fichiers bitmap dans un richedit, et il faut apparement passer par OLE (si quelqu'un connait une autre méthode,
API [ par LordBob ]
Salut a tous,voila je programme des petites application windows en MFC, mais je voudrait savoir le faire avec les API et sans MFC. Ma question est don
Ajouter une Classe avec les MFC [ par hm1964 ]
Bonjour,Je suis sur un programme utilisant les MFC de VC++6.Tout marche bien, sauf que depuis que j'ai voulu créer ma propre classe (qui se trouve dan
aie aie aie API MFC c URGENT help [ par haribo ]
slt a tousg besoin de savoir comment on utilise l'api VFW. j'aurai besoin d1 process ou bien d1 code pour afficher le contenu de ma webcam. C pour mon
API Win 32 et classe SysListView32 dans fonction CreateWindowEx [ par djeauh ]
Bonjour à tous je suis nouveau sur le site et j'ai une petite question. Dans un de mes anciens programme en WIN32 j'ai besoins de créer un controle li
[API][WIN32] Enregistrement de classe de fenêtre [ par Jeffray ]
Bonjour,J'ai un problème pour enregistrer une classe de fenêtre.J'utilise GetClassInfoEx() pour extraire les infos de la classe EDIT créée par Windows
classe equivalente de Cstring [ par tdeco ]
SalutDans le cadre d'un projet de portage en C++ , j'ai la contrainte de ne pas utiliser de MFC or la source précédente est bourrées de MFC du type Cs
Imprimer un bitmap sans MFC ( API Win32 ) [ par bebel6 ]
Bonjour à tous tout d'abord !Alors voila le bin'z :J'aimerais pouvoir imprimer une image avec vsiualc 6 sans l'aide des MFC, j'arrive deja à imprimer
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|