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 6 et antérieur Discussion :

Partage de procedure entre VB6 et VBScript


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    gph
    gph est déconnecté
    Membre confirmé Avatar de gph
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 99
    Par défaut Partage de procedure entre VB6 et VBScript
    Salut,

    J'utilise le controle Script Control Object (msscript.ocx) afin de rendre scriptable mes applications.

    Le partage d'objet se fait sans problème, par contre je n'arrive pas à exécuter une fonction publique du programme VB6 à partir du VBScript.

    La fonction est vue (car si elle n'existe pas ou n'est pas publique le message d'erreur le dit) et une erreur Type incompatible se produit systématiquement.

    Le script se termine et la fonction VB6 n'ets pas appelée.
    Est ce quelqu'un connaitrais une solution ou une piste pour trouver la solution.
    Car cela fait pas mal de temps que je bricole et que je cherche sur le net sans trouver de réponse.

    Merci par avance.
    Philippe.

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    ce serait plus simple de t'aider si tu nous disais de quelle fonction il s'agit !!!

  3. #3
    gph
    gph est déconnecté
    Membre confirmé Avatar de gph
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 99
    Par défaut
    Dans VB6 :
    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
    27
    28
    29
    30
    31
    32
    33
    34
     
    Public sub TestVBS()
       debug.print "Execution TestVBS"
    end sub
     
    Public Function RunVBS(filename As String) As String
    ' Charge le script et l'execute
        Dim fs As Object, f As Object, msg As String
     
        On Error GoTo erreur
     
        ' Charge le fichier
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set f = fs.OpenTextFile(filename)
        msg = f.ReadAll
        f.Close
     
        ' Charge le code
        VbScript.Reset
        VbScript.AddCode msg
     
        VbScript.AddObject "Form", Me
     
        ' Execute
        msg = VbScript.Eval("Main")
        RunVBS = "  Exécution terminée : " + msg
        Debug.Print RunVBS
        Exit Function
     
    erreur:
        RunVBS = "  Erreur script : " + Error$
        Debug.Print Error$
     
    End Function
    Le VBScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Function Main()
    ' Fonction appellé par VB6
    '	Doit retourner : un message qui est mémorisé dans le LOG 
     
    	Form.LstEvents.additem "Avant test"
     
    	TestVBS
     
    	Form.LstEvents.additem "Apres test"
    	Main = " Ca marche !"
     
    End Function

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    As tu fait un debug.print de msg ?
    pour être sur que tu as bien le code complet dans msg.

  5. #5
    gph
    gph est déconnecté
    Membre confirmé Avatar de gph
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 99
    Par défaut
    Oui.

    Le script fonctionne quand je fais n'importe quoi y compris des acces Bdd en ADO, le seul truc qui ne marche pas c'est l'appel d'une fonction/procedure publique de VB6.

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    cela me parait normal, puisqu'après avoir charger le code vbs et lance un interpreteur pour le lire, tu reste dans le vbscript, et la fonction TestVBS est cherche dans le VBScript. Faudrait que tu lui précise que ce n'est pas dans le VBS mais dans le VB6 qu'il faut chercher. En gros que tu es une sorte d'include dans ton VBS pour mettre une reference vers ton fichier VB6.

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

Discussions similaires

  1. probléme de partage de connection entre winxp et win2000
    Par unix27 dans le forum Administration
    Réponses: 1
    Dernier message: 29/07/2005, 20h02
  2. [VB.NET] Partager un dataset entre 2 windows forms ???
    Par kissskoool dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/07/2005, 11h34
  3. Partage de fichier entre Linux et Mac
    Par maddog2032 dans le forum Réseau
    Réponses: 3
    Dernier message: 14/04/2005, 08h32
  4. partager un schema entre plusieurs utilisateurs
    Par jrman dans le forum Oracle
    Réponses: 5
    Dernier message: 15/12/2004, 16h53
  5. Réponses: 3
    Dernier message: 30/03/2004, 09h38

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