Api dans dll pour utilisation dans excel VBA

Résolu
cslcsi Messages postés 8 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 17 novembre 2011 - 31 oct. 2011 à 13:24
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 17 nov. 2011 à 22:12
Bonjour,

J'ai créé une dll sous vb6 que j'utilise dans excel vba 98 en déclarant les fonctions.
Cela marche bien.
Dès que j'inclus ou plus exactement que le code de la dll passe sur une api windows,
cela plante excel.
Je ne sais comment résoudre ce problème ?

Si je lance sous excel Sample(0), pas de problème
Si je lance sample(1) plantage direct..

D'avance merci pour votre aide
@+



Voici le code de ma dll en vb6 ainsi que le fichier de définition de la dll

Attribute VB_Name = "Module1"
Declare Function GetTickCount Lib "kernel32" () As Long

Public Function DllMain(hInst As Long, fdwReason As Long, lpvReserved As Long) As Boolean
Select Case fdwReason
Case DLL_PROCESS_DETACH
' No per-process cleanup needed
Case DLL_PROCESS_ATTACH
DllMain = True
Case DLL_THREAD_ATTACH
' No per-thread initialization needed
Case DLL_THREAD_DETACH
' No per-thread cleanup needed
End Select
End Function

Public Function Sample(p As Long) As Long

Dim Ret As Long

If p = 0 Then
Ret = 1
Else
Ret = GetTickCount()
End If

Sample = Ret

End Function


NAME Sample
LIBRARY Sample
DESCRIPTION "Sample Library"
EXPORTS DllMain @1
Sample @2

11 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
8 nov. 2011 à 21:14
Bonjour,

Je ne vois pas le lien entre
Declare Function Sample Lib "C:\fichiers\FRANCOIS\VB\dll_actx\sample\sample.dll" (p As Long) As Long
et la bibliothèque de type.

Visiblement le lien que tu donnes parles de fichiers ActiveX, pas de DLL API Windows.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
Rejoignez-nous