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 :

Renvoyer une valeur d'une procédure WD à VB.NET


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 59
    Points
    59
    Par défaut Renvoyer une valeur d'une procédure WD à VB.NET
    Bonjour à tous amis développeur,
    j'ai une application (plus précisément une bibliothèque de classe) que je réalise en VB.NET (à l'aide de l'outil Visual Basic Express de Microsoft). J'ai réalisé plusieurs DLL sous WD que je place dans mon projet .NET.

    J'ai donc bien accès à mes procédures WD depuis mon code VB, je peux envoyer mes paramètres, tout se passe très bien. Mais... C'est l'inverse qui me pose problème.
    Admettons que j'ai une procédure WD simple de type :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROCEDURE test_liaison()
    monResult est une chaine
    FEN_1.SAI_test = monResult
     
    RENVOYER monResult
    Ce qui m'intéresse ici c'est le résultat de ma procédure. J'ai donc fais un code VB bateau du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    imports WL
    private sub test()
    dim monResult as String
    monResult = WL.Procedures_globales_test.test_liaison()
    end sub
    Le problème étant qu'au moment ou VB reprends la main, il n'y a plus la procédure WD active et donc il ne reçoit rien.
    D'où ma question. Comment renvoyer une valeur à VB d'une procédure WD ?

    Merci par avance de votre aide .

  2. #2
    Membre confirmé
    Profil pro
    Freelance
    Inscrit en
    Avril 2003
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Avril 2003
    Messages : 393
    Points : 492
    Points
    492
    Par défaut
    Personnellement, je n'ai aucun souci quand je code en C# et que j'appelle une procédure d'une DLL .net générée avec Windev renvoyant une valeur ... Ou alors je n'ai pas bien compris ta question.
    Vince

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 59
    Points
    59
    Par défaut
    Bonjour,
    Comment fais tu?
    Moi cela ne renvoie rien (Exemple avec mon code ci-dessus) !
    En mode test, WD, j'ai bien la valeur pourtant !

  4. #4
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour,

    As-tu essayé de renvoyer une chaine simple plutôt que la valeur d'un champ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROCEDURE test_liaison()
     
    RENVOYER "test"
    «Un problème bien défini est un problème à moitié résolu.»

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    si je renvoi directement une chaine j'ai bien mon information. Cela résout à moitié mon problème (C'est déjà une bonne évolution) mais je veux aussi renvoyer la valeur d'un champ.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2006
    Messages : 205
    Points : 186
    Points
    186
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    PROCEDURE test_liaison()
    monResult est une chaine
    FEN_1.SAI_test = monResult
     
    RENVOYER monResult
    Si je comprends ton problème tu as juste fais une inversion dans ton code.

    Si tu compte récupérer de la procedure WD la valeur de Fen_1.SAI_test pour la passer a monResult et la renvoyer pour que la valeur soit lu dans ton code VB cela donne tout simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    PROCEDURE test_liaison()
    monResult est une chaine
    monResult = FEN_1.SAI_test
    RENVOYER monResult
    là tu retournera la valeur de ton champ et non tu donnera au champs la valeur de monResult.

    Bon je pense que ton problème est à un autre niveau car ceci est un exemple :p

    Si j'étais toi je passerai monResult en paramètre à la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PROCEDURE test_liaison(monResult)
     
    monResult = FEN_1.SAI_test
    Tu pourras s'il y a une erreur voir le problème (Erreur de correspondance des type de variable)

    L'appel côté VB serat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    imports WL
    private sub test()
    dim monResult as String
    WL.Procedures_globales_test.test_liaison(monResult )
    end sub
    Tu passe par l'adresse de la variable en mémoire donc windev pourrait peut être moins facilement se perdre :p
    RoUtMoUt DeVeLoPPeUr WINDEV FOU !!!!!!

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/05/2015, 19h00
  2. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. passer une valeur d'une requête a une table
    Par LesLemmings dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/06/2006, 14h13
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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