Créer une dll pour utiliser l'ASIO

ccinfonews Messages postés 14 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 16 mars 2011 - 28 sept. 2010 à 18:38
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 28 sept. 2010 à 22:16
bonjour

je souhaites créer une dll pour utiliser l'ASIO du Steinberg SDK sous VB
apparement le kit a été concu sous forme de classes
la première chose à faire est de charger le driver
dans ma dll j'ai fait
#include "windows.h"
#include <string.h>
 
#include "asiosys.h"
#include "asio.h"
#include "asiodrivers.h"
#include "iasiodrv.h"
#include "asiolist.h"
#include "asiosys.h"
#include "combase.h"
#include "ginclude.h"
#include "wxdebug.h"
 
#define export __declspec (dllexport)
 
export long __stdcall ASIOLoad(LPSTR *namedriver);
 
export long __stdcall ASIOLoad(LPSTR *namedriver)
{
bool retour = false;
AsioDrivers* asioDrivers = 0;
 
   if(asioDrivers){
       retour = asioDrivers->loadDriver((char*)namedriver);
       if(retour == false)
           return 2;
       else
           return 1;
   }
   return 0;
}

la compilation est ok mais il me retourne 0
il n'a pas réussi à m'initialiser asioDrivers

normalement "AsioDrivers *asioDrivers = 0;" doit être en global
mais à la compilation j'ai
undefined reference to `AsioDrivers::loadDriver(char*)

merci d'avance

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 sept. 2010 à 22:16
Enleve
if(asioDrivers)
tu le mets à 0 juste avant, tu ne rentreras donc jamais dans la fonction.
Il est d'ailleurs strictement inutile de mettre à 0 vu que tu affectes ensuite, le compilo va virer ce "= 0" stérile.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous