Problème DLL - MediaInfo - Advanced

Salut le forum!

J'augmente graduellement mon niveau en VBA, et aujourd'hui pour passer une étape, je souhaite inclure les fonctions présentes dans des DLLs, et plus précisément les fonctions et procédures présentes dans le logiciel MediaInfo (qui sert, comme son nom l'indique, à récupérer les infos de fichiers audio/vidéo)

Après avoir sillonné les pages internet, j'ai plus ou moins compris comme déclarer les fonctions et procédures dans le projet VBA, mais me heurte aux problèmes suivants:

- Je dispose des fichiers DLLs et d'un accès direct à Google, mais je ne sais pas comment lister les fonctions et procédures présentes dans ces DLLs, je ne connais pas non plus ses paramètres ni ses sorties.

Par exemple j'ai pu trouver sur Internet le code suivant :

Private Declare Function MediaInfoA_Open Lib "MediaInfo.dll" (ByVal File As String) As Long

Rien d'extravagant, mais impossible de savoir comment obtenir cette ligne. De plus la source a 10 ans, depuis le fichier DLL a évidemment énormément évolué.

  • Je n'arrive pas à importer le DLL dans le projet VBA (Références -> ajouter -> )
  • Je ne sais pas ce que sont les Handlers et autres paramètres souvents utilisés dans les déclarations de fonctions...

Es-ce que quelqu'un à déjà fait ce genre de développements? Plus particulièrement ce DLL?

d3d9x a écrit :

Je n'arrive pas à importer le DLL dans le projet VBA (Références -> ajouter -> )

Il y a un exemple dans le code source de MediaInfo, section ExcelVB :

https://github.com/MediaArea/MediaInfoLib/tree/master/Contrib/ExcelVBA

d3d9x a écrit :

Je ne sais pas ce que sont les Handlers et autres paramètres souvents utilisés dans les déclarations de fonctions...

Vous pouvez vous inspirer de l'interface VB publique :

https://github.com/MediaArea/MediaInfoLib/blob/master/Source/MediaInfoDLL/MediaInfoDLL.vb

Jérôme, développeur de MediaInfo.

Bonjour Zenitram et merci de ta réponse,

Avant de poster mon message j'étais tombé sur une première version de ce fichier. Après avoir posté, j'ai continué mes recherches et suis tombé sur cet exemple plus à jour. Malheureusement il ne fonctionne pas tel quel.

En effet dans le code même, je rencontre plusieurs erreurs:

1) des variables de type longptr sont utilisées, mais non reconnues par ma version Excel (2007). J'ai donc remplacé tous les longptr par des long -> 1 message d'erreur en moins

2) les fonctions sont définies de la manière

Private Declare PtrSafe Function [etc..]

. PtrSafe n'étant pas reconnu, j'ai également dû les supprimer.

3) Malgré l'installation du programme, la DLL n'est jamais localisée:

Erreur '53', Fichier introuvable.

ou alors un message vbCritick: Fichier Introuvable: MediaInfo.dll

J'ai donc tenté de remplacer tous les

Lib "MediaInfo.dll"

par

Lib "C:\Program Files\MediaInfo\MediaInfo.dll"

sans succès. J'ai essayé d'ajouter une référence à la DLL via 'références -> parcourir' sans succès.

Sur certains postes, il faut utiliser la DLL activeX, et à partir de ce moment j'ai été perdu ^^ J'ai également tenté d'ajouter au registre la DLL MediaInfo.dll, mais je me fais systématiquement jeter par un message d'erreur.

Si tu as des pistes derecherche je suis preneur! En tout cas merci pour ton aide =)

Aller une petite relance, au cas où un miracle se produirait =)

Si c'est pour moi, perso je ne sais pas plus, je me rappelle juste que j'ai testé la version qui est dans le repo avec la version 2010 et ça marchait comme prévu.

Pour plus de support de mon côté, c'est toujours envisageable mais n'est plus gratuit (service pro), c'est pour ça que je laissait d'autres le soin de répondre.

Malheureusement pour moi j'exécute la version 2007, j'ai donc opté pour l'utilisation de la ligne de commandes et la génération d'un fichier texte de sortie pour chaque vidéo. C'est rapide et efficace mais pas très propre, dommage que je n'arrive pas à faire fonctionner le DLL, ça m'aurait évité beaucoup de bidouilles inutiles. Tant pis !

Rechercher des sujets similaires à "probleme dll mediainfo advanced"