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 :

Une énigme sur le "sender byval"


Sujet :

VB.NET

  1. #21
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 389
    Points
    20 389
    Par défaut
    Citation Envoyé par MoonlightSwamper Voir le message
    Voilà : dans les procédures évènementielles en VB, sender est une variable objet transmise par valeur. Or, les propriétés de l'objet désigné par sender sont accessibles en écriture, ce qui me semble a priori parfaitement contradictoire.
    je vais essayer de répondre à ta question
    1-la variable sender n'est modifiable que dans le corps de la procédure c'est pour cela qu'elle est passée par valeur

    2-ce n'est pas possible de raisonner avec des objets passés par référence parce que faut pas perdre de vue que .NET s'appuie essentiellement sur les fonctionnalités de Windows ( les API win32 ) sauf que c'est géré avec du "managed code".
    Pour créer une fenêtre en win32 tu vas appeler CreateWindowEx tu obtiens un handle de fenêtre un HWND et un "contexte" de dessin un HDC..
    or le problème c'est que ces objets ne sont pas toujours valides dans la durée de fonctionnement du programme et ils ne peuvent être modifiés que selon un certain "contexte" ( je suppose allocations mémoire de l'OS, gestion de la mémoire RAM, du tracé des fenêtres par le GDI).
    Si l'OS alloue un HWND de fenêtre il ne faut surtout pas que la procédure à laquelle est passée l'objet modifie le handle de fenêtre.
    Voilà pourquoi la durée de vie d'un objet dans une procédure n'est limité qu'à la procédure

  2. #22
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Bonjour

    Citation Envoyé par MABROUKI Voir le message
    je n'utilise jamais les structures....à cause des tableaux qui doivent necessairement les accompagner...
    Qu'est ce que c'est que cette histoire de tableaux qui doivent "nécessairement" accompagner les structures ???

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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