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 :

Option Base 1


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Par défaut Option Base 1
    Bonjour,

    J'ai un gros problème. Je dois nécessairement utiliser un tableau avec un index débutant à 1 et non à 0 pour utiliser une méthode.
    Sans cela, elle me renvoie une erreur. J'ai essayé d'envoyer un tableau de dimension n+1 avec le premier terme nul, j'ai aussi une erreur. Si je rentre le tableau de dimension n, j'ai une erreur aussi.

    Il y a-t-il un moyen de remplacer l'option base 1 de VB6?
    Cette option n'est plus disponible en VB.Net.

    Merci,

    Nicolas

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Ton tableau utilise un indice? du genre mon_tableau(i)...
    Dans ce cas la, il faut initialiser i à 1.

    J'espère que c'est ça que tu demandais.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Par défaut
    En fait,

    Je déclare mon tableau comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ServerHandles(1) as Long
    Cela me crée un tableau ayant deux 'places' avec l'index 0 et l'index 1.
    J'aimerais créer un tableau avec une seule 'place' à l'index1.

    C'est possible?

    nicolas

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par nicohutse Voir le message
    J'aimerais créer un tableau avec une seule 'place' à l'index1.
    C'est possible mais quel intérêt ? Un tableau avec une seule "case" n'est plus un tableau.

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ServerHandles(1) as Long
    Crée un tableau pouvant contenir un seul objet (ici un Long). Ne pas confondre les index pour accéder aux éléments qui sont en base 0 (0 est l'index du premier élément) et le nombre d'éléments que peut contenir un tableau.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Par défaut
    En fait l'intérêt est le suivant:

    Je fais appel à une méthode wrappée de VB6 vers .Net.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Remove(NumItems as Integer, ByRef ServerHandles As System.Array, ByRef Errors as System.Array)
    Le tableau ServerHandles me permet de supprimer de instances de classes que je souhaite. Dans ce cas, je ne veux en supprimer qu'une seule.

    Le problème est qu'une s'agit d'un tableau option BASE 1.

    Quand j'utilise un tableau avec un seul élément, l'index est 0 et c'est une erreur.
    Quand j'envoie un tableau avec deux éléments, (celui placé en index 1 étant l'identifiant de mon instance), j'ai une erreur.

    Comment me sortir de là?

    Nicolas

  6. #6
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par nicohuts
    Je fais appel à une méthode wrappée de VB6 vers .Net.
    C'est à dire ? Tu appelles une DLL VB6 depuis VB.Net ?

    Citation Envoyé par nicohutse
    Quand j'envoie un tableau avec deux éléments, (celui placé en index 1 étant l'identifiant de mon instance), j'ai une erreur.
    Dans ton message précédent tu pensais faire un tableau avec deux éléments mais en fait tu ne prévoyais la place que pour un. Tu peux toujours tester en utilisant effectivement un tableau de deux éléments.

    Après comme je ne m'y connais pas en VB, je ne pourrais pas faire grand chose d'autre pour toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Accès aux options "Base de donnée active" en vba
    Par niko9600 dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/04/2010, 13h52
  2. Réponses: 5
    Dernier message: 09/07/2009, 18h22
  3. Option base 1 et tableaux
    Par breizou dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/04/2009, 15h58
  4. Créer une liste d'option sur base d'une db
    Par HwRZxLc4 dans le forum Langage
    Réponses: 10
    Dernier message: 24/04/2008, 15h26
  5. [IE] Modifier une option dans la base de registre
    Par Oberown dans le forum Windows XP
    Réponses: 2
    Dernier message: 16/06/2006, 08h53

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