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 :

Comment en VB6 récupérer un ArrayList d'une DLL écrite en VB.Net


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Comment en VB6 récupérer un ArrayList d'une DLL écrite en VB.Net
    Bonjour à tous ,

    tout est dans le titre .

    Dans un projet VB6 , on me demande de faire référence à une DLL afin de récupérer une fonction , cela OK . Or cette DLL que je référencie est écrite en VB.Net et la fonction que je tente de récupérer me retourne un ArrayList :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function GetListAgent_ByTime(ByVal myValue As String) As ArrayList
    .

    Je recherche donc un composant VB6 capable de récépurer et traduire cet ArrayList . J'ai essayé dans VB6 :
    Dim aa as string = "id099125"
    Dim cc as new array() , listbox , string() , .... ???
    cc = myClass.GetListagent_ByTime(aa)

    Il me rend : " Invalid procedure call or argument"

    D'avance grand merci pour votre aide .

    Laurent

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Ce serait moi, je commencerais par le déclarer en Variant.

    Puis, à l'aide de la fenêtre des variables locales (en mode pas-à-pas), j'essayerais de voir comment cet objet est vu par VB.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci AlainTech pour la réponse . J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    aa = "20060324144643"
    Dim cc As Variant
          cc = myClass.GetListagent_ByTime(aa)
    Cela me redonne :
    Invalid procedure call or argument
    A+

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Enlève le myClass.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    En fait , le myClasse est ma classe de référence que je déclare au début :

    Dim myClass As New Login_IRO .

    Login_IRO étant le nom de la classe référencée .

    Thx

    Laurent

  6. #6
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    serait-ce trop demander que d'avoir le code VB6 complet en une seule fois, et entre balise de code !!!!!!!!!!!!!!
    On n'est pas là pour jouer aux devinettes, ni au jeu de piste !!
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Sorry ,

    voici :

    Partie VB6 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub cmdListeTime_Click()
      Dim myClass As New Login_IRO
      Dim aa As String
      aa = "20060324144643" 
      Dim cc As Variant
      cc = GetListagent_ByTime(aa)    '----c'est là qu'il bloque...
    End Sub
    Classe sous VB.Net :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Public Function GetListAgent_ByTime(ByVal myValue As String) As ArrayList
     
    Private _List As New ArrayList
    Dim QuerySearchByTime As String
    Dim DBCon As New MySqlConnection(_DatabaseConnectionString)
     
            Try
                DBCon.Open()
            Catch
                If DBCon IsNot Nothing Then
                    DBCon.Dispose()
                End If
                Return _List
            End Try
     
            ' construit la query
            QuerySearchByTime = "SELECT DISTINCT imr_per_id , imr_gsm "
            QuerySearchByTime += "FROM planning "
            QuerySearchByTime += " WHERE (time =  " & myValue.ToString & ") "
            QuerySearchByTime += " ORDER BY imr_per_id"
     
            'Crée un Objet Command + Objet Reader
            Dim DBCommand As New MySqlCommand(QuerySearchByTime, DBCon)
            Dim DBReader As MySqlDataReader
     
            ' exécute le reader et place le résultat dans la liste préalablement vidée ...
            Try
                DBReader = DBCommand.ExecuteReader()
                _List.Clear()
                Do While DBReader.Read
                    _List.Add((DBReader.GetValue(0).ToString) & " - " & (DBReader.GetValue(1).ToString))
                Loop
                DBReader.Close()
            Catch Ex As Exception
     
            End Try
     
            DBCommand.Dispose()
     
            'ferme la connection si elle existe ...
            If DBCon IsNot Nothing Then
                DBCon.Dispose()
            End If
     
            'termine
            Return _List
        End Function
    Merci

    Laurent

  8. #8
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    j'y crois pas
    Dernière modification par ThierryAIM Aujourd'hui à 17h21. Motif: Balises de code : c'est le bouton # au dessus de la zone d'édition !
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Voici une solution qui pourrait aider d'autres personnes :

    http://msdn2.microsoft.com/en-us/lib...10(VS.71).aspx

    J'espère format du message est correct cette fois-ci

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

Discussions similaires

  1. [Débutant] Utiliser les fonctions contenues dans une DLL écrite en VB.NET
    Par vg-matrix dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/11/2012, 23h35
  2. Réponses: 13
    Dernier message: 09/02/2009, 13h51
  3. Réponses: 4
    Dernier message: 05/08/2008, 15h22
  4. [c#] comment récupérer le namespace d'une DLL par réflection?
    Par Jayceblaster dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/07/2006, 13h20

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