Partage
  • Partager sur Facebook
  • Partager sur Twitter

utiliser une dll classique

Sujet résolu
    11 août 2011 à 18:39:22

    Je veux utiliser une dll en vb.net, type io.dll , qui est en fait une dll classique.
    Selon ce que j'ai lu les dll classiques ne peuvent pas s'ouvrir en utilisant : ajouter une référence (c'est pourquoi elle ne veut pas s'ouvrir)
    :-°o_O
    j'ai vu dans un forum une ligne de code qui les "importerait" Mais je n'y est rien compris
    Private Declare Function mciSendString Lib "Winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal pstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
    

    S.V.P aidez moi
    P.S :pardon pour les questions de grand débutant :o:(
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      11 août 2011 à 23:33:54

      Bonjour,

      En faite, oui tu as raison on ne peut pas importer des dll dites natives (qui sont écrite en langage de plus bas niveau) dans un projet .net. Les seules dll importables en ajoutant une référence sont celle écrite en .net. Par contre, comme dans ton exemple de code, on peut utiliser des fonctions de dll natives si on les connait à l'avance, on dit d'ailleurs que l'on utilise une 'API'. On va donc écrire une instruction qui est généralement rassemblé sur une ligne.

      Private Declare
      On commence par déclarer une fonction privée avec le mot clef 'Declare' pour dire que l'on veut utiliser une API.

      mciSendString
      Un nom de fonction que l'on donne pour pouvoir l'appelé plus tard (comme pour un funct normal)

      Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal pstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
      Indique le prototype de la fonction qui est contenu dans la dll (ses paramètres, son type de retour).

      Lib "Winmm.dll"
      Indique le nom de dll qui contient la fonction qui nous intéresse.

      En espérant avoir été clair ;)


      • Partager sur Facebook
      • Partager sur Twitter
        12 août 2011 à 17:25:12

        Merci pour ta réponse très claire Liek :D:D .
        Juste une petite question, est-ce-qu'il suffit s'indiquer le nom de la dll pour que VB.net
        la reconnaisse où qu'elle soit??
        Faut-il taper son adresse quelque part??
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          12 août 2011 à 18:31:18

          Elle doit être à la racine de ton projet, ou dans les dossiers système de windows (comme dans ton exemple).
          • Partager sur Facebook
          • Partager sur Twitter
            12 août 2011 à 18:35:59

            Et, dans ce cas pas besoin d'utiliser imports?
            Question bête : Où se trouve la racine de mon projet? :o:lol:
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              12 août 2011 à 18:37:21

              Non pas besoin d'imports avec les API puisque tu définis un nom de fonction à utiliser comme dans ma description plus haut.

              Exemple :

              Private Declare Function GetTickCount Lib "kernel32" () As Long ' Déclaration d'une API QUI RENVOIE LE NOMBRE DE SECONDE ÉCOULÉE DEPUIS LE DÉMARRAGE DE WINDOWS.
              
              Msgbox("Nombre de seconde écoulée depuis le démarrage de windows : " & GetTickCount())
              
              • Partager sur Facebook
              • Partager sur Twitter
                12 août 2011 à 18:39:09

                Y a-t-il un moyen pour savoir si vraiment la connexion est établie?
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  12 août 2011 à 18:41:26

                  Regarde mon exemnple que j'ai édité dans mon post plus haut. Sinon, normalement VS doit te signaler une erreur si ce n'est pas le cas mais, je n'ai jamais été confronté à ça.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 août 2011 à 18:44:02

                    Merci beaucoup pour votre aide Liek
                    • Partager sur Facebook
                    • Partager sur Twitter

                    utiliser une dll classique

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown