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

WinDev Discussion :

Erreur de compilation : Le paramètre 1 de type 'tableau' ne peut pas être converti en type 'tableau'


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Erreur de compilation : Le paramètre 1 de type 'tableau' ne peut pas être converti en type 'tableau'
    Erreur de compilation : Le paramètre 1 de type 'tableau' ne peut pas être converti en type 'tableau'

    Bonjour,
    Voici mon pb :
    J'ai déclaré la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    procedure maProc(param est un tableau de booléens)
    renvoyer TableauOccurrence(param)
    Lors de l'appel à la procédure maProc
    si je fais
    n=maProc([1,2,3]).
    j'ai le message d'erreur de compilation : Le paramètre 1 de type 'tableau' ne peut pas être converti en type 'tableau'
    idem si je fais un passage par valeur :
    n=maProc(([1,0,1])).
    mais si je lui passe une variable, ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    p est un tableau de booléens = [1,0,1]
    n=maProc(p)
    Comment expliquer cela et comment faire pour que ça marche ?!

    Merci pour vos réponses

  2. #2
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 526
    Points
    2 526
    Par défaut
    MaPro d'un côté et MaProC de l'autre, c'est pas vraiment la même chose, non ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par serendib Voir le message
    MaPro d'un côté et MaProC de l'autre, c'est pas vraiment la même chose, non ?
    non c'est juste une erreur de saisie dans le forum, excuses.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    Bonjour,


    Peux-tu essayer sans typer le paramètre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    procedure maProc(param)
    renvoyer TableauOccurrence(param)
    ou en précisant que tu attends un tableau dynamique (expérimental ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    procedure maProc(param est un tableau dynamique de booléens)
    renvoyer TableauOccurrence(param)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    J'ai déjà essayé mais ça n'a pas marché
    Citation Envoyé par cladoo Voir le message
    Bonjour,


    Peux-tu essayer sans typer le paramètre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    procedure maProc(param)
    renvoyer TableauOccurrence(param)
    ou en précisant que tu attends un tableau dynamique (expérimental ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    procedure maProc(param est un tableau dynamique de booléens)
    renvoyer TableauOccurrence(param)

  6. #6
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Bonjour

    Cela ne m'étonne pas du tout que la dernière solution fonctionne, car c'est comme ça qu'il faut développer...Pour des raisons de lisibilité, et pour les maintenances futures.

    Après cela ne fonctionne pas car il ne sait pas que c'est des booleans, il voit peut être cela que comme un tableau d'entier.
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    En fait, peu importe le type des elements du tableau, l'erreur de compilation reste la même.
    Erreur :Le paramètre 1 de type 'tableau' ne peut pas être converti en type 'tableau'.
    Lors de mon appel à la procedure, je lui transmet une valeur et non pas une variable, et c'est ça que le compilateur n'aime pas j'ai l'impression.

  8. #8
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    726
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 726
    Points : 1 645
    Points
    1 645
    Par défaut
    Les tableaux littéraux ne sont pas réellement des tableaux.
    C'est le type "liste de valeurs", n°83 non documenté.

    Je crois que PC Soft n'a pas encore eu la bonne idée de les rendre exploitables par du code utilisateur. (comme un tableau de variants en lecture seule par exemple)

    Donc il faut s'en passer.

    Le mot clé MesParamètres peut souvent faire l'affaire.

    PS. Finalement si, on peut les exploiter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROCEDURE Toto(Bobby)
    tabBilly est tableau de Variants
     
    tabBily = Bobby
    ...

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    Merci pour l'effort. Malheureusement ça ne marche pas sur WD15

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Voici la réponse du support technique de PCSOFT
    Tous les tests effectué en version 56f de WINDEV 18, n'ont pas permis de reproduire votre cas de figure. Nous vous suggérons de poursuivre vos développements dans cette version.

    Pour votre information, le Support technique Gratuit est assuré sur la version de WINDEV en cours de commercialisation.
    La version actuelle est WINDEV 18, et c'est afin de vous être agréable que le Support Technique Gratuit a répondu très exceptionnellement à votre demande.

    Je vous conseille vivement de passer à WINDEV 18. Vous disposerez ainsi automatiquement des fonctionnalités avancées que vos utilisateurs attendent !
    Rappel : aucune migration n'est nécessaire pour passer de WINDEV 7.5, 8, 9... à WINDEV 18. Une simple recompilation suffit (zéro erreur, zéro warning).

    L'équipe du Support Technique Gratuit reste à votre disposition.


Discussions similaires

  1. Réponses: 2
    Dernier message: 05/12/2014, 14h44
  2. Réponses: 10
    Dernier message: 21/10/2013, 20h19
  3. Réponses: 6
    Dernier message: 29/12/2010, 01h16
  4. Erreur : Le champ ne peut pas être une chaîne vide
    Par supertoms dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/04/2008, 07h05
  5. Réponses: 6
    Dernier message: 03/09/2003, 10h29

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