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 :

fonction non appellée ,


Sujet :

VB.NET

  1. #1
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut fonction non appellée ,
    Bonjour,
    je teste un applicatif qui permet de gerer les appels téléphoniques depuis un serveur CTI (phonePc pour ceux qui connaissent).
    J'ai référencé les dll
    J'ai ajouté les Imports nécessaires
    mais la fonction interne au composant com (EvtCallerId), déclenchée lors d'un appel entrant ne ce lance pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            axXPhonePc1 = New AxPhonePcX.AxXPhonePc
    end sub
     
    'Si un appel arrive la fonction ci-dessous est normalement déclenché
    'mais là ça marche pas :evilred:
        Private Sub axXPhonePc1_EvtCallerId(ByVal sender As Object, ByVal e As AxPhonePcX.IPhonePcEvents_EvtCallerIdEvent)
            lblcallerId.Text = e.stData
        End Sub

    Namespace AxPhonePcX
    Membre de*: AxInterop.PhonePcX

    Public Class AxXPhonePc
    Inherits System.Windows.Forms.AxHost
    Membre de*: AxPhonePcX

    Public Event EvtCallerId(ByVal sender As Object, ByVal e As AxPhonePcX.IPhonePcEvents_EvtCallerIdEvent)
    Membre de*: AxPhonePcX.AxXPhonePc

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 176
    Points : 25 118
    Points
    25 118
    Par défaut
    il faut handler ta méthode

    soit dans le load avec
    addhandler objet.evenement, addressof MaSub

    ou private Sub nom_sub(parametres) handles objet.evenement


    sinon ton programme devinne pas qu'il faut lancer cette sub quand il se passe ca

  3. #3
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Salut et merci sperot51,
    Je m'inspire d'une version C#, la déclaration des Handles est contenu dans la fonction InitializeComponent(). En vb.net je crois que la déclaration des Handles se gère avec Friend WithEvents non ??

    Extrait de la fonction InitializeComponent() écrite C#:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    this.axXPhonePc1 = new AxPhonePcX.AxXPhonePc();
    this.button2 = new System.Windows.Forms.Button();
    ((System.ComponentModel.ISupportInitialize)(this.axXPhonePc1)).BeginInit();
    this.SuspendLayout();
     
    // axXPhonePc1
    // 
    this.axXPhonePc1.Location = new System.Drawing.Point(8, 104);
    this.axXPhonePc1.Name = "axXPhonePc1";
    this.axXPhonePc1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axXPhonePc1.OcxState")));
    this.axXPhonePc1.TabIndex = 5;
    this.axXPhonePc1.Visible = false;
    this.axXPhonePc1.EvtCallerId += new AxPhonePcX.IPhonePcEvents_EvtCallerIdEventHandler(this.axXPhonePc1_EvtCallerId);
    this.axXPhonePc1.EvtIdle += new System.EventHandler(this.axXPhonePc1_EvtIdle);
    this.axXPhonePc1.EvtConnected += new System.EventHandler(this.axXPhonePc1_EvtConnected);

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 176
    Points : 25 118
    Points
    25 118
    Par défaut
    ah non pas du tout

    je t'ai précisé les 2 méthodes pour handler ton évènement, t'as rien à chercher de plus !

    si tu utilise le addhandler, tu le mets ou tu veux, après avoir créé l'objet

    si tu passes par handles, il faut en effet par contre que ton objet soit déclaré withevents


    si tu poses un bouton et que tu double clic dessus tu vas voir que ca va écrire
    sub bouton_clic(parametres) handles bouton.click



    initializecomponent est une méthode écrite par visual studio, qu'il ne sert à rien de modifier car il efface ce qu'on a rajouté
    cette méthode est appelée par le new de ton objet (dans et hors visual studio) pour créer le visuel de la fenetre
    ca défini que tel bouton est à tel endroit etc...

  5. #5
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Pour éviter de déclarer mon objet withevents
    en passant par le handles, j'ai opter pour l' utilisation du addhandler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            axXPhonePc1 = New AxPhonePcX.AxXPhonePc
            phone1 = New PhonePcX.XPhonePc
            AddHandler axXPhonePc1.EvtCallerId, AddressOf axXPhonePc1_EvtCallerId
        End Sub
     
    'Lancement de l'appication CTI
        Private Sub btnActiver_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnActiver.Click
            phone1.ActiverPhonePc = True
        End Sub
     
    'récupération d'un appel emanant de l'application CTI
        Private Sub axXPhonePc1_EvtCallerId(ByVal sender As Object, ByVal e As AxPhonePcX.IPhonePcEvents_EvtCallerIdEvent)
            MsgBox("Hello")
            lblcallerId.Text = e.stData
        End Sub
    La fonction axXPhonePc1_EvtCallerId n'est toujours pas appelé lors d'un appel entrant
    Merci de ton aide

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 176
    Points : 25 118
    Points
    25 118
    Par défaut
    pourtant cette fois ci le code est bon ...
    ton objet doit pas marcher comme y faut ou comme tu le penses ...

Discussions similaires

  1. fonction non appelée
    Par Lilouse dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/03/2010, 11h52
  2. Trouver les fonctions non appelées
    Par KiwiJaune dans le forum Visual Studio
    Réponses: 3
    Dernier message: 19/01/2010, 14h59
  3. fonction non appelée
    Par coquero dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/11/2008, 13h52
  4. [Wamp] Appel de fonction non défini
    Par morphine63 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 29/10/2006, 10h02
  5. Verifier formulaire - fonction non appelée
    Par nerick dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/12/2005, 17h44

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