IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Organisation projet (event)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Par défaut Organisation projet (event)
    Bonjour,
    Je travaille actuellement sur un projet assez complexe a organiser. j'ai eu une idée mais je ne sais pas trop comment la mettre en œuvre.

    Ce que j'aimerai faire : L’utilisateur importe une librairie et ensuite il écrit son programme... Je veux que ma librairie puisse exécuter des fonctions qu'il a écrit.

    Par exemple : La librairie reçoit un message, elle déclenche la fonction que l'utilisateur a écrit : onReceive par exemple. Il faut préciser que si la fonction a pas été écrite et bien ce n'est pas grave.

    J'ai vu des articles sur les Event mais je vois pas trop comment adapter ça a ce que je veux puisque avec les events j'ai l'impression que la fonction déclenchée est obligatoire (ou pas ?).

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par gaetan13 Voir le message
    avec les events j'ai l'impression que la fonction déclenchée est obligatoire (ou pas ?).
    quand une instance de classe déclenche un évènement, tous ceux qui sont abonnés à l'évènement exécutent le code associé (une sub)
    si personne n'est abonné il ne se passe rien

    quand tu parles d'utilisateur tu veux dire développeur ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Par défaut
    Merci pour votre réponse, Oui C'est ça. Avec un shema :


    (4) Cette classe communique avec le serveur récupère, les information entrantes.

    (3) C'est ici qu'on traite les paquets reçus et qu'on en déduit des événements qu'on déclenche dans plusieurs classe en fonction de leur thème

    (2) Dans ces classes un développeur peut ajouter des sub qui correspondent aux événement

    (1) L'interface utilisateur qui doit pouvoir récupérer des informations des classes de traitement si on y met une Propriété/Variable a une classe de traitement ou y lancer une fonction.

    Contraintes :
    - La classe de communication avec le serveur doit pouvoir être accessible de n'importe ou, sauf de l'interface.
    - A chaque interface correspond une instance unique de communication serveur ainsi que des instances de traitement et une de traitement de communication.
    - Il est important pour moi de pouvoir séparer les classes de traitement en plusieurs domaines de taches.

    En espérant avoir été clair. Merci

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    vous pouvez créer des events sur (3)
    il faudra que des (2) s'abonnent à ces events

    pour créer un event :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public event nomevent (sender as object, e as system.Eventargs)
    à la place de sender et e on peut mettre ce qu'on veut as ce qu'on veut et autant qu'on en veut, néanmoins, il peut etre pratique de respecter la norme du framework
    auquel cas si vous avez des choses à passer, vous créez une classe inherits eventargs, avec des propriétés pour les choses à passer et vous aurez donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public event nomevent (sender as object, e as MonEventargs)
    pour déclencher l'event :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim m as new moneventargs 
    m.prop1 = tellevaleur
    RaiseEvent nomevent (me, m)
    en best practice, mettre des propriétés readonly peut etre mieux, avec une initialisation via le sub new
    avec possibilité de laisser des propriété writeable pour des valeurs de retours de l'event par exemple

    pour s'abonner à un évènement il faut avoir une instance de la classe ayant l'évènement
    un singleton peut convenir

    addhandler instance.nomevent, addressof tellesub
    si la variable est déclarée avec withevents il est préférable de rajouter handles instance.nomevent

    tu peux aussi faire un shared event si tu n'as pas d'instance (pas de sender dans ce cas, ou alors le raise avec nothing)
    et après c'est addhandler nomclasse.nomevent, addressof tellesub


    et le schéma posté vous auriez plus le mettre plus petit, ca serait resté lisible quand même ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Par défaut
    Merci beaucoup pour toutes ces précisions. Dernière question comment je lie les classes du (2). Parce que l'héritage et tout en vb. Net c'est pas comme pas exemple le php ou il y a aucun problème pour faire plusieurs héritages .

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    en .net on ne peut pas hériter de plusieures classes, par contre on peut implémenter plusieurs interfaces (Imachin)

    par contre si par interface tu entends interface utilisateur je ne vois pas en quoi elle doit hériter de quelque chose, elle a juste à avoir les instances des classes de traitement, enfin non, ce qui l'interresse c'est juste les données même
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Organiser projet Android
    Par ChristopheD dans le forum Android
    Réponses: 4
    Dernier message: 31/08/2010, 16h05
  2. Organisation projet c++ en plusieurs fichiers
    Par remjg dans le forum Débuter
    Réponses: 9
    Dernier message: 27/04/2010, 15h39
  3. Organisation projet, sources séparées, chemins relatifs
    Par NiamorH dans le forum Eclipse C & C++
    Réponses: 1
    Dernier message: 13/10/2009, 16h09
  4. Eclipse + CVS + organisation projets
    Par Seb24 dans le forum Eclipse PHP
    Réponses: 8
    Dernier message: 08/05/2009, 15h56
  5. VS - Organisation projets / solutions
    Par An0d dans le forum Visual Studio
    Réponses: 4
    Dernier message: 18/12/2008, 19h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo