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

  FORUM HardWare.fr
  Programmation

  Attention, question qui fait mal au crâne ! C++, API Win32

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Attention, question qui fait mal au crâne ! C++, API Win32

n°39618
El_gringo
Posté le 14-06-2001 à 11:21:35  profilanswer
 

j'utilise une fonction de l'API qui prend 2 paramètres: une pointeur de fonction, et un LPARAM pour pouvoir passer des paramètres à cette "CALLBACK fonction"
 
ma question est : Comment faire pour passer plusieurs paramètres à cette fonction !?

mood
Publicité
Posté le 14-06-2001 à 11:21:35  profilanswer
 

n°39619
minusplus
Posté le 14-06-2001 à 11:26:03  profilanswer
 

je suis pas sur d'avoir bien compris ta question mais je tente : en passant un pointeur sur une structure.

n°39621
El_gringo
Posté le 14-06-2001 à 11:28:39  profilanswer
 

t'inquiètes, je apparement, t'as compris ma question, mais donc à ton avis, on est obligé de créer une structure pour ça !?

n°39629
minusplus
Posté le 14-06-2001 à 11:41:43  profilanswer
 

ben d'aprés mes vagues souvenirs des API win, c'est comme ça que fonctionnent beaucoup des fonctions. une structure + un pointeur dessus pour passer en paramètre. ça ne me semble pas choquant, quess t'en pense.

n°39635
El_gringo
Posté le 14-06-2001 à 11:58:08  profilanswer
 

ouais, j'imagine que t'as raison, que c la seule solution...
 
Tes vagues souvenirs de l'API !? t'utilises quoi maintenant !?

n°39636
minusplus
Posté le 14-06-2001 à 11:58:42  profilanswer
 

linux

n°39638
El_gringo
Posté le 14-06-2001 à 12:03:32  profilanswer
 

en essayeant d'être vraiement objectif (en oubliant tous les "fuck Bill Gates !" que t'as lu, entendu, ou même prononcé sans trop savoir pourquoi), tu trouves quoi de mieux à la prog sous Linux ?

n°39645
minusplus
Posté le 14-06-2001 à 12:15:40  profilanswer
 

:lol:  
 
ben pas grand chose mais on bosse aussi sur des stations UNIX alors pour dév sur mon PC je me suis mis un linux !
 
et pi c'est pas trop une question de dév (passke les codes, si ils sont à peu prés propres, ils compileront sous win), c'est plutôt l'OS que je préfère. Bon, faut dire que pour le moment, je fais que de la console... (pas besoin d'api) (je me suis d'ailleurs jamais penché sur les libs et les toolkits de linux alors je peux pas te dire si c'est mieux que les api win)

n°39772
Carbon_14
Posté le 14-06-2001 à 15:53:05  profilanswer
 

Si le CallBack ne prévoit que deux arguments, je suis pas certain (suis pas spécialiste) qu'il y ait moyen.
 
Si on a des variables globales, on peut les utiliser/gérer dans le CallBack à part des paramètres passés lors de l'appel. C'est tout ce que j'ai trouvé dans ce genre de contexte (ça marche ainsi pour moi, pauvre amateur (galérien parfois !)).

n°39780
BENB
100% Lux.
Posté le 14-06-2001 à 16:08:18  profilanswer
 

minusplus a écrit a écrit :

ben d'aprés mes vagues souvenirs des API win, c'est comme ça que fonctionnent beaucoup des fonctions. une structure + un pointeur dessus pour passer en paramètre. ça ne me semble pas choquant, quess t'en pense.




API vin ou autres c'est comme ca que marchent les callback...
Resolution numerique/Motif/WIN etc...
 
ce qui est casse pieds c'est quand il n'y a pas le void*...

mood
Publicité
Posté le 14-06-2001 à 16:08:18  profilanswer
 

n°39782
minusplus
Posté le 14-06-2001 à 16:12:26  profilanswer
 

ce que je voulais dire c'est que même celles qui sont pas de callback travaillent (toujours d'aprés mes souvenirs => donc pas sur...) avec simplement un paramètre : un pointeur sur une structure. Bon, pour les callback c'est un peu obligé...

n°39795
HelloWorld
Salut tout le monde!
Posté le 14-06-2001 à 16:52:03  profilanswer
 

je suis d'accord ...
essayons d'imaginer comment fonctionne cette fonction qui appelle une autre fonction : elle empile le parametre et l'appelle.
ne sachant pas quelle est la taille du parametre, elle ne peut empiler qu'un pointeur vers quelque chose, ou alors un nombre 32 bit (=> un pointeur ...)
 
donc documente toi sur le LPARAM qu'attend la fonction callback passee en parametre.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°39828
H4dd3R
Q2
Posté le 14-06-2001 à 18:46:10  profilanswer
 

Typiquement ce genre de fct (callback d'un timer ou multithreading non?) prend un void* en parametre, histoire de passer n'importe quoi..
C moche car c pas oriente objet du tout, mais c pratique..
 
Alors te fais pas de soucis, fait une classe pour passer tes parametres et passe l'adresse sur ton instance de la classe c tt.. :)

 

[edit]--Message édité par H4dd3R--[/edit]


---------------
Athlon64 s754 10*200MHz - R9800Pro - 512MB DDR200MHz - ZX6RR - Q2[SupOp] - Tutorial Video: multilangues, multisstitres
n°40065
Guz
Posté le 15-06-2001 à 14:12:51  profilanswer
 

Salut,
 
Toutes les fonctions de callback travaillent comme ca.
Le plus simple est de definir une classe qui va contenir toutes tes infos, et de passer dans ton LPARAM un pointeur vers un objet de ce type.
 
Sinon je dis de faire une classe car si ton projet est un projet MFC tu peux utiliser les deux macros DECLARE_DYNANIC et IMPLEMENT_DYNAMIC ce qui permet d'utiliser la fonction IsKindOf sur ton pointeur pour pouvoir verifier la validite de celui ci dans ta callback.
 
Voila.


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

  Attention, question qui fait mal au crâne ! C++, API Win32

 

Sujets relatifs
[JAVA] \n, petite question bête[javascript] question tres tres conne
[PHP] Question sur les variables "$$toto"Question sur le VBA et Access !
[API Windows] Fenêtre - TaskBarquestion de HTML
Une API pour créer un chronoAPI Java 3D
[MySQL] question sur la rapidité[VB] Question toute bête sur la sauvegarde d'un projet...
Plus de sujets relatifs à : Attention, question qui fait mal au crâne ! C++, API Win32


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