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 :

problème de déclaration d'API


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut problème de déclaration d'API
    Bonjour,

    existe-t-il un moyen de paramétrer le chemin de déclaration d'une API ?

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Declare Function MaFonction Lib "Z:\Chemin\MaDll.dll" (ByVal lpszExe As String,
    ByVal lpszParams As Any) As Integer
    Z est mon lecteur réseau pointant sur un répertoire où se trouve la DLL gérant cet API.

    comment rendre ce chemin paramétrable et le passer en paramètre lors de ma déclaration ?

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Pas tout à fait comme çà

    On fait la declaration normalement

    Ensuite on utilise l'api LoadLibrary, Quand on en a plus besoin ont decharge la dll avec un FreeLibrary

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
    Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
    Declare Function MaFonction Lib "MaDll.dll" (ByVal lpszExe As String,
    ByVal lpszParams As Any) As Integer
    Dim hLib as long
     
    Private Sub Form_Load()
      hLib = LoadLibrary("Z:\Chemin\MaDll.dll")
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
      FreeLibrary  hLib
    End Sub
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    mais c'est pas mal du tout !

    merci je vais tester.

Discussions similaires

  1. [XL-2010] Problème de déclaration d'API compatible 64bit et 32 bit
    Par Johan_VBA dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/09/2012, 12h24
  2. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26
  3. Réponses: 11
    Dernier message: 29/04/2005, 19h45
  4. [VB.NET] Problème pour Marshaliser une API
    Par lamalice dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/03/2005, 10h01
  5. Problème de déclaration de segment avec use32
    Par le mage tophinus dans le forum Assembleur
    Réponses: 2
    Dernier message: 10/01/2003, 10h17

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