Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1478 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  utiliser avec VC++ une dll prévue pour du VB

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

utiliser avec VC++ une dll prévue pour du VB

n°1429276
xphanoo
Posté le 22-08-2006 à 13:46:08  profilanswer
 

bonjour,
 
j'ai trouvé un SDK que j'aimerais beaucoup utiliser, ça s'appelle "Peace Music Engine", c'est pas très connu.
sur la doc ils ne parlent pas de visual c++, les exemples fournis avec sont au format visual basic  :o  
et les seuls fichiers fournis avec sont: PME.dll, PME.exp et PME.lib
 
est-ce qu'avec ça je peux me servir des fonctions de la dll ?


Message édité par xphanoo le 22-08-2006 à 14:05:09
mood
Publicité
Posté le 22-08-2006 à 13:46:08  profilanswer
 

n°1429560
karlkox
Posté le 22-08-2006 à 17:51:29  profilanswer
 

Si tu n'as aucune déclaration des fonctions (prototypes), tu ne pourras rien en tirer.
Si ce n'est pas le cas, il te suffira de compiler ton programme avec le .lib qui aura pour effet de linker implicitement la dll d'où il a été produit.
 
 
PS : je serais toi, j'utiliserais plutot FMOD Ex qui gère les midis aussi bien sous Windows que sous Linux (softmidi intégré).

n°1429599
xphanoo
Posté le 22-08-2006 à 19:12:19  profilanswer
 

j'avais pensé a fmod ex mais vu que je programme un plugin de petite taille pour une application, l'alourdir de la dll de 260 ko ça triplerais son poids ^^
 
avec j'ai un fichier CHM qui explique toutes les fonctions de la dll, mais j'arrive pas a m'en servir...
 
voila un extrait de la doc, la fonction pour initialiser:
http://tgfcenter.free.fr/IMG/pme.png
 
j'inclut PME.lib a mon projet vc++, je fais une ligne InitPeaceAudio(0, 48000)  mais le compilateur m'envoie une erreur 'InitPeaceAudio' : identificateur introuvable.
j'ai pas de fichier .h a inclure en début de fichier
 
quelqu'un a une idée ?


Message édité par xphanoo le 22-08-2006 à 19:14:21
n°1429722
karlkox
Posté le 23-08-2006 à 00:53:38  profilanswer
 

Fmod Ex est modulaire et lui même basé sur des plugins, sans ces plugins, il fait environ 120 ko.
Concernant ton problème, il faudra que tu protoype en C chaque fonction exportée en esperant que les libs n'ont pas été créé depuis VB car dans ce cas, c'est différents car il ne s'agit pas de DLL native pas de DLL ActiveX et il faudra utiliser le COM.

n°1429812
xphanoo
Posté le 23-08-2006 à 10:58:30  profilanswer
 

oui, sauf que là la dll en question fait 20 ko  :pt1cable:  
en fait elle m'intéresse car elle permet de lire des MIDIS avec beaucoup d'options (notamment la possibilité de mettre une banque de son DLS personnalisée).
apparament FMOD le fait aussi donc je vais l'utiliser.
par contre j'aimerais que ceux qui n'utilisent pas les fonctions audio de mon plugin ne soient pas obligés d'inclure la DLL à leur jeu (le plugin que je fait c'est pour un logiciel de création de jeux), quelqu'un m'a dit qu'il fallait utiliser DLLImport au moment où j'utilise une fonction audio, mais il suffit de faire un DLLImport vers fmod.dll et c'est bon je peux utiliser ses fonctions ? ça me parait un peu trop simple...


Message édité par xphanoo le 23-08-2006 à 10:59:00
n°1430304
karlkox
Posté le 24-08-2006 à 00:08:41  profilanswer
 

Tu n'as pas le droit d'inclure la dll fmod ex statiquement, problème de license.
Si tu veux inclure une DLL, il te faudra l'inclure en tant que ressource et d'utiliser FindResource + LoadResource + LockResource pour récupérer la dll en ram et l'écrire dans un fichier puis lire dynamiquement chaque fonction (loadlibrary+getprocadress).

n°1430434
xphanoo
Posté le 24-08-2006 à 11:00:12  profilanswer
 

ah bon ? je comprends pas trop pourquoi ils ne veulent pas qu'on "l'inclue statiquement"... ça change pas l'utilisation de la dll....

n°1430746
karlkox
Posté le 24-08-2006 à 15:51:43  profilanswer
 

Non mais ça leur permet de savoir si on utilise leur dll sans qu'ils se prennent la tête car cette lib est commerciale mais gratuite pour des projets perso gratuits.
Je peux les comprendre, on m'a déja fait le coup avec une de mes dll (en gpl en plus).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  utiliser avec VC++ une dll prévue pour du VB

 

Sujets relatifs
Utiliser les méthodes statiques dynamiquement[Résolu] Utiliser in_array avec mysql_fetch_array
Utiliser des CheckBox sur une feuille excelUtiliser les boutons
[Quick]Utiliser la fonction date avec un locale() de choixJe suis perdu pour utiliser un flux XML
Utiliser une variable d'un script dans un autre scriptEspace utiliser dans ma boite mail.
utiliser un Hook dans un programme wxWidgetsVBA Excel : utiliser une Locale spécifique dans une macro
Plus de sujets relatifs à : utiliser avec VC++ une dll prévue pour du VB


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR