begin process at 2012 05 29 06:38:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Evenements en C++/CLI


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

Evenements en C++/CLI

jeudi 29 juin 2006 à 15:56:38 | Evenements en C++/CLI

ThePuppetMaster

Bonjour,

Est 'il possible d'implenter simplement des evenements utilisateur en C++/CLI ?
Je m'explique : je souhaite creer une classe qui declenche des evenements, que je souhaite definir (les evenements) dans mon code principal, afin d'ajouter du texte un une richtextbox, par exemple, un peu a la maniere des evenements VB, que l'on declare dans la classe, et que l'on definit apres avoir implementer la classe.

qqun a une idee ? Merci !


jeudi 29 juin 2006 à 23:38:21 | Re : Evenements en C++/CLI

Kazuya

ta classe peut reçevoir en paramètres des pointeurs sur fonctions, ainsi, il te suffit d'envoyer tes fonctions en paramètres et la classe pourra les appeler.


exemple:
class CLS
{
   void MaFonction(bool __cdecl(int,int));   // déclaration de la fonction qui reçoit l'adresse de la fonction servant d'évènement
   bool (*Evenement)(int,int); //déclaration de la fonction évènement
};

void CLS::MaFonction(bool Evt(int a,int b))
{
      Evenement = Evt;  // affectation de son adresse à la fonction évènement 
      Evenement(10,20); // appel de la fonction évènement
}

// dans ton prog

bool eve(int,int);
CLS cls;

main
{
   cls.MaFonction(eve);
}

bool eve(int a, int b)
{
    // code
}

voila, j'éspère que cette solution te convient et que j'ai bien expliqué

K@zuya
vendredi 30 juin 2006 à 11:53:10 | Re : Evenements en C++/CLI

ThePuppetMaster

Merci de ta réponse, et oui c'etait suffisement clair ^^
Par contre tel que je le comprend, et tel que ça se comporte quand je le test,
C'est que c'est mon programme principal qui genere l'evenement ?
Alors que moi ce que je veux c'est que ce soit la classe, mais que ce soit le code que j'aurai defini dans le code principal qui soit executer.
Et la j'ai pas l'impression que ça fonctionne ainsi, a part si je me trompe ;(

Je suis en Visual Studio 2005, si ça peut aider...
vendredi 30 juin 2006 à 12:18:36 | Re : Evenements en C++/CLI

Kazuya

Euh, J'comprends mal c'que tu me dis,
"c'est mon programme principal qui genere l'evenement" ça ça veut dire quoi ?

ce que je crois comprendre c'est que tu as l'impression que le code de l'évènement est dans la classe, main non, l'évènement c'est la fonction "eve" dans mon code. Et cette fonction c'est dans le prog principal que tu la code, c'est exactement comme en VB.

pour que l'évènement eve soit déclanché par la classe, il faut qu'il y ait une condition dans la classe.

cls.MaFonction(eve); // cet appel sert seulement à déclarer "eve" comme la fonction evenement.
dans mon, code, cette fonction appelle eve juste apres mais ça tu peux le gérer autrement, par exemple,
ta classe contient un thread qui tourne en parallèle avec ton prog et qui surveille l'heure puis appelle Evenement(10,20); lorsqu'il il est minuit.
alors ta fonction "eve" du programme principal sera appellée à minuit.
Je pense que c'est ce que tu cherche à faire.

K@zuya
vendredi 30 juin 2006 à 16:04:23 | Re : Evenements en C++/CLI

ThePuppetMaster

Bah en fait j'ai mit une messagebox dans eve, pour voir comment ça fonctionné, et pour moa c'est cls.MaFonction(eve); qui declenche l'evenement. car kan je lance le programme ma message box apparait.
En tout cas tes explications m'eclaire deja sur pas mal de choses, merci.
En fait j'pense que j'mexplique pas comme il faut, le mieu c'est de donner un exemple concret de ce que je veut faire:
Donc voici un exemple : une classe socket.
Je veut que dans ma classe socket j'ai un evenement OnConnect (comme le RaiseEvent en VB) que je genere des que le socket est connecté.
De l'autre coté j'ai des forms, un bouton et une richtextbox.
Et en fait ce que je veut c pouvoir redefinir OnConnect dans la partie "Form" pour que ça m'ajoute du texte dans la richtextbox.

Donc voila, j'sais pas si c moi qui pige keudalle mais j'ai vraiment du mal a cerner pquoi c si compliké en C++/CLI alors qu'en VB, VB.NET c'est si simple ;(
En tout cas merci de tes efforts

vendredi 30 juin 2006 à 17:19:04 | Re : Evenements en C++/CLI

Kazuya

J'ai fait une classe qui fait ça, Tu n'as qu'a la downloader [ Lien ]

K@zuya


Cette discussion est classée dans : classe, evenements, souhaite, cli


Répondre à ce message

Sujets en rapport avec ce message

ouverture de base Access [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset VCplusplus 6 [ par emaskaoui ] Comment je peux acceder au membre données d'une la classe à partir d'une autre classe? Merci dll pour asp avec connection odbc [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset Base de donées ADO [ par header ] Apres avoir importe la dll et tout ce qui faut pour qu'une classe générique de CADORecordBinding soit crée j'ai un problème : lorsque je commence mes AIDEZ MOI : LE DOWNLOAD AVEC la classe CHTMLVIEW [ par header ] il me faudrait un topo sur la classe CHtmlViewje ne sais pas comment faire une pause dans un telechargement...................AIDEZ MOI builder c++ 5 compile pas chez moi [ par ferrari ] voila j'ai un projet sous builder qui compilej'ai rajouter une classe perso mais lorsque je compile et que j'appelle une methode de ma classe, il me d Récupérer le Handle de l'appli [ par Stoomm ] Bonjour,Explication :J'ai une classe D3Dapp qui crée la fenetre.Dans une autre classe (qui va servir a D3Dapp), j'aimerais récupérer le handle de la f Visual c++ [ par Maxus ] Salut,j'ai un probleme sous visual c++ lorque j'execute une fonction d'une classe à partir d'une autre...Explication : dans une fenetre, j'ai une list INSTANCIER UNE CLASSE D'UNE DLL [ par KL ] Bonjour,J'ai un enorme problème !J'ai créé une DLL avec des classes dedansMaintenant je veux pouvoir importer ces classes dans un prog Win32 et pouvoi HELP ME C'est quoi une classe ? [ par Oceane ] salut,j'aurais besoin d'un petit coup de main. Je viens de commencer C++ et oui y un dédut à tout Je m'explique, j'ai un projet à faire pour mon exame


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 : 0,608 sec (4)

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