Auteur

MVP Office Access 2003, 2004, 2005 et 2006

Qui sont les MVP ?

 
 

Codes pour Access

+ Base de données
+ Administrateur
+ Table
+ Requête
+ Formulaire
+ Dates & Heures
+ Nombre
+ Math
+ Fichier
+ Commandes externes
+ Automation
 -  Equivalence
 
 

Tuto Access 2007

+ Base de données
 
 

Lettre d'information

Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
S'abonner
Se désabonner

captcha
Merci de recopier le code alphanumérique ci-dessus
117 Abonnés
 
 

Equivalence - Fonction fAddressOf

Description 

Opérateur unaire provoquant la transmission de l'adresse de la procédure qu'il précède à une procédure API attendant un pointeur de fonction à cette position dans la liste d'arguments.

Cette fonction est disponible uniquement à partir de la version Access 2000. Le code qui suit permet donc de contourner le problème pour les utilisateurs d'Office 97 qui sont amenés à utiliser des API qui font appelle à cette fonction.

 
Syntaxe 

fAddressOf (strFuncName)

La syntaxe de la fonction fAddressOf comprend l'élément suivant :

ElémentsDescription
strFuncNameL'argument strFuncName indique la procédure dont l'adresse va être passée. il doit désigner une procédure figurant dans un module standard de l'application dans laquelle l'appel est effectué.
 
Exemple 

Aucun exemple disponible pour le moment.

 
Code de la fonction 


'** Déclaration API pour reproduire fonction AddressOf
Private Declare Function GetCurrentVbaProject _
    Lib "vba332.dll" Alias "EbGetExecutingProj" _
    (hProject As Long) As Long

Private Declare Function GetFuncID _
    Lib "vba332.dll" Alias "TipGetFunctionId" _
    (ByVal hProject As Long, ByVal strFunctionName As String, _
    ByRef strFunctionId As String) As Long

Private Declare Function GetAddr _
    Lib "vba332.dll" Alias "TipGetLpfnOfFunctionId" _
    (ByVal hProject As Long, ByVal strFunctionId As String, _
    ByRef lpfn As Long) As Long

Public Function fAddressOf(strFuncName As String) As Long

Dim hProject As Long
Dim lngResult As Long
Dim strID As String
Dim lpfn As Long
Dim strFuncNameUnicode As String

Const NO_ERROR = 0
strFuncNameUnicode = StrConv(strFuncName, vbUnicode)
Call GetCurrentVbaProject(hProject)
If hProject <> 0 Then
    lngResult = GetFuncID( _
         hProject, strFuncNameUnicode, strID)
    If lngResult = NO_ERROR Then
        lngResult = GetAddr(hProject, strID, lpfn)
        If lngResult = NO_ERROR Then
            fAddressOf = lpfn
        End If
    End If
End If

End Function

 


Date de création : 14/12/2005 @ 14:28
Dernière modification : 12/06/2007 @ 12:53
Catégorie : Equivalence
Page lue 1655 fois


Prévisualiser la page Prévisualiser la page     Imprimer la page Imprimer la page

 
 

Réactions à cet article


Personne n'a encore laissé de commentaire.
Soyez donc le premier !


 
 

Recherche




Google

 
 

Préférences

Votre nom (ou pseudo) :

Votre mot de passe :

     


Membres 79 Membres

membres les 10 derniers :
CJ6774   monaker   Jerry   jujubegood   Rachid   fifimeyrou   MoxQwoidT   fof_alaz   bellemeche   Bruno   
Membre en ligne : Membre en ligne :
( personne )
Anonymes en ligne : Anonymes en ligne : 10

Total visites : Total visites : 174552  
hit Affluence record: 102
le 17/06/2007 @ 07:36

Ecrire à Jessy SEMPERE Ajouter aux favoris Recommander ce site à un ami Version mobile
 
 


Design Jessy © 2007 - Compatible IE6, IE7 et Mozilla 2.0.0.1

  Site créé avec GuppY v4.5.18 © 2004-2005 - Licence Libre CeCILL

Document généré en 0.12 seconde