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 en vb 2008


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Par défaut Fonction en vb 2008
    Bonjour tout le monde,

    Voilà après quelques recherches sur le net j'ai trouvé une fonction dont j'ai vraiment besoin dans mon projet. Il s'agit de voir toutes les adresses ip des machines dans un réseau local mais quand j'ai écrit le code il apparait une exception de référence null.
    Voilà le code :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Public Shared Function GetAllIPADDRESSES(Optional ByVal args As String() = Nothing) As Integer
    'args in the signature is optional, without it
    'the function will simply get the hostname
    'of the local machine then go from there
    
    Dim strHostName As New String("")
    If args.Length = 0 Then
    ' Getting Ip address of local machine...
    ' First get the host name of local machine.
    strHostName = DNS.GetHostName()
    Console.WriteLine("Local Machine's Host Name: " + strHostName)
    Else
    strHostName = args(0)
    End If
    
    ' Then using host name, get the IP address list..
    Dim ipEntry As IPHostEntry = DNS.GetHostByName(strHostName)
    Dim addr As IPAddress() = ipEntry.AddressList
    
    Dim i As Integer = 0
    While i < addr.Length
    Console.WriteLine("IP Address {0}: {1} ", i, addr(i).ToString())
    System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
    End While
    Return 0
    End Function
    L'exception se situe dans la ligne en rouge. L'exception est :
    La référence d'objet n'est pas définie à une instance d'un objet
    Aussi que faut il mettre au juste dans le paramètre de la fonction exactement

    Merci de m'aider.

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Shared Function GetAllIPADDRESSES(Optional ByVal args As String() = Nothing) As Integer
    args est délacré dans l'appel de ta fonction par une collection de string "String()"
    donc c'est normale qu'il te génère une erreur

    sa serrais plus juste si tu mettais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If args().Length = 0 Then
    'ou ceci
    'avec "x" un integer qui correspondrais a l'index
    If args(x).Length = 0 Then
    je te dit sa au feeling, après je n'ais pas du tout testé ce code

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Par défaut
    Non c la même exception

  4. #4
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    il faut d'abord que des args soient créés avant de pouvoir mesurer leurs longueurs ...
    la aucuns args n'a été crée donc pour moi c'est normale,
    il ne peut pas mesurer de "lengths"


    * dur de reprendre un code fait si on ne le comprend pas *

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Par défaut
    c ca le problème qu'est c qu'il faut mettre dans le args ?

  6. #6
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    ou a tu trouvé cette fonction ??

Discussions similaires

  1. problème fonction avec vb 2008
    Par walid kh dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/03/2010, 12h05
  2. Réponses: 1
    Dernier message: 04/11/2008, 22h12
  3. Réponses: 1
    Dernier message: 02/10/2008, 10h18
  4. Réponses: 7
    Dernier message: 14/07/2008, 20h44
  5. Réponses: 27
    Dernier message: 23/04/2008, 18h11

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