OVH Cloud OVH Cloud

Probleme d'accès à un fichier sous Win XP

1 réponse
Avatar
pascalv
Un de mes nciens programmes en Excel VBA fait des appels à des
fonctions sous formes de DLL compilées à partir de Visual C++.

Le programme fonctionne correctement sous Windows NT4 et 2000 + Excel
97

Sous Windows XP et Excel 2000, j'ai le message d'erreur d'exécution
53: fichier c:\aaa\zzz.dll introuvable

alors que ce fichier existe bien et que le même code (VBA + mêmes DLL)
fonctionne bien sous WinNT4.

Quelqu'un a-t-il une explication?
S'agit-il d'un problème de compatibilité connu entre les différentes
versions de Windows et Excel?

Exemple de déclaration de fonction d'appel de DLL

Public Declare Function maFctWrap Lib "c:\maDir\filtrageLib.dll" _
(ByRef signal As Double, ByVal longSignal As Long, _
ByVal filtre As Long, ByVal freqBasse As Double, _
ByVal oscillations As Double, ByVal attenuation As Double, _
ByVal param1 As Double, ByVal param2 As Double, _
ByVal ordre As Long, ByVal freqEchant As Double, _
ByRef signalFilt As Double) _
As Boolean

Merci

Pascal

1 réponse

Avatar
michdenis
Bonjour Pascal,

Est-ce que tu as copié ta ".dll" dans le répertoire system de Windows ? (ou autre répertoire)

Est-ce que tu as initialer la base de registre de la présence de ton fichier .dll ?

Pour ce faire : Bouton démarrer / exécuter

la commande de mémoire est :

regserver32.exe c:lecheminlefichier.dll /s


Salutations!


"pascalv" a écrit dans le message de news:
Un de mes nciens programmes en Excel VBA fait des appels à des
fonctions sous formes de DLL compilées à partir de Visual C++.

Le programme fonctionne correctement sous Windows NT4 et 2000 + Excel
97

Sous Windows XP et Excel 2000, j'ai le message d'erreur d'exécution
53: fichier c:aaazzz.dll introuvable

alors que ce fichier existe bien et que le même code (VBA + mêmes DLL)
fonctionne bien sous WinNT4.

Quelqu'un a-t-il une explication?
S'agit-il d'un problème de compatibilité connu entre les différentes
versions de Windows et Excel?

Exemple de déclaration de fonction d'appel de DLL

Public Declare Function maFctWrap Lib "c:maDirfiltrageLib.dll" _
(ByRef signal As Double, ByVal longSignal As Long, _
ByVal filtre As Long, ByVal freqBasse As Double, _
ByVal oscillations As Double, ByVal attenuation As Double, _
ByVal param1 As Double, ByVal param2 As Double, _
ByVal ordre As Long, ByVal freqEchant As Double, _
ByRef signalFilt As Double) _
As Boolean

Merci

Pascal