Niouzes.org  

Précédent   Niouzes.org > Forum > Newsgroup microsoft.public.fr.* 5 Forum > Newsgroup microsoft.public.fr.dotnet.vc
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus



Réponse

 

LinkBack Outils de la discussion Modes d'affichage
  #1 (permalink)  
Vieux 06/08/2007, 15h54
gptvitsion
 
Messages: n/a
Par défaut Callback

Bonjour,

Question au sujet de la fonction Callback. J'utilise VC++8.0

J'ai une méthode qui demande une callback pour retourner des informations.
Pour attacher la callbakc une seule fois tout va bien.

Maintenant j'aimerais appeler plusieurs fois ma fonction avec sa callback.

ex
int __stdcall MyCallBack(void* context);

int _stdcall MyCallBack(double valeur, void* context)
{
CMaClasse* pUser = (CMaClasse*) context;
// j'utilise valeur pour des calculs
.....
}


void CMaClasse::Calcul(int numDevice)
{
....
StreamCalculValeur( ...., ....., &MyCallBack,this);

}
En fait je voudrais instancier plusieurs calculs, comme si j'avais un
tableau de callback. Une callback par numDevice.
En pseudo code
int __stdcall MyCallBack(void* context) [MAX_DEVICE]; )

et

StreamCalculValeur( ...., ....., &MyCallBack[numDevice],this); )

Je n'ai pas trouvé d'info sur le net peut être parce que je ne connais pas
ce principe de fonctionnement des callback

Merci par avance.
Philippe


Réponse avec citation
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Niouzes.org
Standard Sponsored Links

  #2 (permalink)  
Vieux 07/08/2007, 07h27
Remi THOMAS
 
Messages: n/a
Par défaut Re: Callback

"gptvitsion" écrivit
> Bonjour,
>
> Question au sujet de la fonction Callback. J'utilise VC++8.0
>
> J'ai une méthode qui demande une callback pour retourner des informations.
> Pour attacher la callbakc une seule fois tout va bien.
>
> Maintenant j'aimerais appeler plusieurs fois ma fonction avec sa callback.
>
> ex
> int __stdcall MyCallBack(void* context);
>
> int _stdcall MyCallBack(double valeur, void* context)
> {
> CMaClasse* pUser = (CMaClasse*) context;
> // j'utilise valeur pour des calculs
> .....
> }
>
>
> void CMaClasse::Calcul(int numDevice)
> {
> ....
> StreamCalculValeur( ...., ....., &MyCallBack,this);
>
> }
> En fait je voudrais instancier plusieurs calculs, comme si j'avais un
> tableau de callback. Une callback par numDevice.
> En pseudo code
> int __stdcall MyCallBack(void* context) [MAX_DEVICE]; )
>
> et
>
> StreamCalculValeur( ...., ....., &MyCallBack[numDevice],this); )
>
> Je n'ai pas trouvé d'info sur le net peut être parce que je ne connais pas
> ce principe de fonctionnement des callback
>
> Merci par avance.
> Philippe
>
>


Bonjour,
Es-tu obligé d'utiliser des callback? Tu ne peux pas le faire en C++ objet?
C'est vraiment plus simple à écrire.

Rémi


Réponse avec citation
  #3 (permalink)  
Vieux 07/08/2007, 09h29
gptvitsion
 
Messages: n/a
Par défaut Re: Callback

Bonjour Rémi,

Oui je n'ai pas vraiment le choix.
J'utilise une librairie qui m'oblige à déclarer et utiliser une callback.
J'ai chercher sur le net, sur MSDN et dans mes livres : rien trouvé. ça sent
pas bon. Je vais voir avec l'éditeur de la librairie mais en GmbH c'est
aussi les vacances ;-)

Voici la méthode de la librairie
SVGigE_RETURN StreamingChannel_create(StreamingChannel_handle
*hStreamingChannel, CameraContainerClient_handle hCameraContainer,
Camera_handle hCamera, int BufferCount, StreamCallback CallbackFunction,void
*Context)

déclaration préconisée de la callback :
SVGigE_RETURN __stdcall ImageCallback(Image_handle hImage, void* Context);

En fait chaque callback est appelée par le driver du périphérique. Dans
cette callback je récupère une image que je peux traiter. Ayant plusieurs
périphériques qui renvoient tous une image mais de façon asynchrone, je dois
avoir une callback par périphérique. (Streaming étant le canal par lequel
arrive l'image, un par périphérique).
Pour l'instant j'ai bloqué mon appli à 4 périphériques (ce qui est nul). Je
peux aller jusqu'à 256 périphériques en fonction de l'architecture. Je ne me
vois pas avec un code où j'ai 256 déclarations et 256 méthodes etc : un peu
moyen.
Je continue à chercher.

Merci pour ton aide.
Philippe

"Remi THOMAS" <remi***xtware.com> a écrit dans le message de news:
uSsGYwL2HHA.3640***TK2MSFTNGP06.phx.gbl...
> "gptvitsion" écrivit
>> Bonjour,
>>
>> Question au sujet de la fonction Callback. J'utilise VC++8.0
>>
>> J'ai une méthode qui demande une callback pour retourner des
>> informations.
>> Pour attacher la callbakc une seule fois tout va bien.
>>
>> Maintenant j'aimerais appeler plusieurs fois ma fonction avec sa
>> callback.
>>
>> ex
>> int __stdcall MyCallBack(void* context);
>>
>> int _stdcall MyCallBack(double valeur, void* context)
>> {
>> CMaClasse* pUser = (CMaClasse*) context;
>> // j'utilise valeur pour des calculs
>> .....
>> }
>>
>>
>> void CMaClasse::Calcul(int numDevice)
>> {
>> ....
>> StreamCalculValeur( ...., ....., &MyCallBack,this);
>>
>> }
>> En fait je voudrais instancier plusieurs calculs, comme si j'avais un
>> tableau de callback. Une callback par numDevice.
>> En pseudo code
>> int __stdcall MyCallBack(void* context) [MAX_DEVICE]; )
>>
>> et
>>
>> StreamCalculValeur( ...., ....., &MyCallBack[numDevice],this); )
>>
>> Je n'ai pas trouvé d'info sur le net peut être parce que je ne connais
>> pas ce principe de fonctionnement des callback
>>
>> Merci par avance.
>> Philippe
>>
>>

>
> Bonjour,
> Es-tu obligé d'utiliser des callback? Tu ne peux pas le faire en C++
> objet?
> C'est vraiment plus simple à écrire.
>
> Rémi
>



Réponse avec citation
 
Réponse
Tags:



Outils de la discussion
Modes d'affichage

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires

Discussion Auteur Forum Réponses Dernier message
[WD11] pour info: bug thread et callback patrice Newsgroup fr.comp.developpement.agl.windev 0 01/07/2008 13h31
MX callback (was [LISTE DES VOTANTS] Modification des regles des votes concernant l'evolution de Usenet-fr) F. Senault Newsgroup fr.comp.mail.serveurs 1 12/04/2007 09h16
Config Callback console fm@nowhere.invalid Newsgroup fr.comp.peripheriques.modems 0 21/01/2006 17h50


Fuseau horaire GMT. Il est actuellement 23h49.

Italiano - German - English - Español


Édité par : vBulletin® version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc. Tous droits réservés.
Version française #13 par l'association vBulletin francophone


Politique - Droit - Philosophie - Football - Medicine - Française - Bricolage - Photo - Mac Os X - Divers - Physique - Jardinage
Mecanique - Moto - Photographie - Rail - Route - Aviation - Cinema - Linux - Psychanalyse - Finance - Enigmes - Rugby
Environnement - Histoire - Programmes TV - Education - Travail - Voyages - Windows - Immobilier - Cuisine
Windows XP - Excel - Word - Outlook - Access - Internet Explorer - Office - Vista

Page generated in 0,29219 seconds with 11 queries