Ne cherchez plus, j'ai trouvé la réponse à ma question.
Ma DLL en appelle en fait une autre qui était inaccessible dans les chemins par défaut. Tout est rentré dans l'ordre depuis que j'ai copié la DLL incriminée dans C:\WinNT\System32. Le message d'erreur ne mettait pas en évidence l'origine exacte du problème, c'est-à-dire la DLL concernée. On a tendance à se focaliser sur celle que l'on spécifie dans Declare.
A+
Guillaume Audirac
[EMAIL PROTECTED] 2005-02-21 13:56
|
Pour : prog@fr.openoffice.org cc : (ccc : Guillaume Audirac/CFR/SC/PHILIPS) Objet : [prog] declare DLL et runtime error Categorie: |
Bonjour,
Ayant besoin d'utiliser des fonctions de DLL, je fais un usage abusif de l'instruction Declare. Malheureusement, je rencontre une difficulté pour une DLL en particulier, et j'ai bien du mal à interpréter le message d'erreur ainsi qu'à trouver une méthode pour affiner ma compréhension du problème.
J'ai réduit mon programme à ceci :
Option Explicit
Declare Function VeeInitDll Lib "VeeGenApi.dll" () As Integer
Sub Main
Call VeeInitDll()
End Sub
J'ai mis la DLL "VeeGenApi.dll" dans C:\WinNT\System32 (sous Win2000), j'ai essayé aussi dans le répertoire contenant mon fichier Calc, et également avec les chemins absolus dans l'instruction Declare. Mais rien n'y fait.
A l'exécution de main, l'erreur intervient sur la ligne "Call VeeInitDll()" : Runtime error BASIC / Erreur lors du chargement d'un fichier DLL.
Auriez-vous une piste ?
Merci.
Guillaume Audirac