J'écris une application .netCF qui s'interface avec un scanner de codes-barres sur différentes plateformes matérielles. Par exemple, Motorola ou Intermec Etc. J'ai enveloppé leurs DLL avec l'une des miennes pour présenter une interface commune et je charge ma DLL au moment de l'exécution avec Reflection LoadFrom(), puis j'obtiens une référence de méthode.
Je suis capable de passer la plupart des paramètres aux méthodes de mon DLL, à une exception près. J'ai besoin de passer une fonction de rappel à la dll pour que, lorsqu'une lecture se produit, elle rappelle le programme principal pour traiter la lecture du code-barres.
Lorsque j'invoque la méthode, une ArgumentException se produit.
Ma question est la suivante : comment puis-je transmettre la référence de cette méthode à mon DLL ou existe-t-il une meilleure façon de le faire ?
public delegate void ReadNotify(BCReadData readData);
public void AttachReadNotify(ReadNotify ReadNotifyHandler)
{
if (type == ReaderType.UNKNOWN || scanIntf == null)
return;
try
{
setReadNotify.Invoke(scanIntf,new Object [] {ReadNotifyHandler});
}
catch (Exception e)
{
throw new Exception("Unable to set notify handler" + e.Message);
}
}