07-01-2008 02:07 AM - edited 07-01-2008 02:09 AM
Bonjour Monsieur Williot,
Pouvez vous tester l'appel de la DLL d'une autre manière, c'est à dire à partir d'un autre logiciel (LabVIEW si vous disposez de celui-ci) ou à l'aide d'autres fonctions, mais sans passer par le script LUA ? La R & D me demande de vous faire faire ces manipulations afin d'identifier la source de votre problème.
Ou bien pouvez vous m'envoyer votre DLL et m'indiquer comment l'appeller (valeur des paramètres, et valeur que doit retourner cette fonction).
De plus avez vous testé cette DLL sur un autre PC ?
Je vous remercie de votre patience.
Cordialement,
07-01-2008 02:56 AM
Bonojur M Muller,
Tout d'abord, merci de prendre du temps pour essayer de resoudre mon probleme.
J'ai integré directement le chargement de ma DLL au programme principal (code ci dessous )
static HINSTANCE mcudll = NULL;
int InitPlugin(void)
{
if (g_DllName[0] != 0)
hPluginLib = LoadLibrary(g_DllName);
else
hPluginLib = LoadLibrary("plugins\\toolpad.dll");
mcudll = LoadLibrary("mcu.dll"); // <<< CHARGEMENT DE LA DLL
if (hPluginLib != NULL)
{
GetFunctionTreeFunctionPtr GetFunctionTree;
GetFunctionTree = (GetFunctionTreeFunctionPtr) GetProcAddress(hPluginLib, "GetFunctionTree");
Io_Plugin = GetFunctionTree();
Io_Plugin->Initialisation();
Io_Plugin->SetJudgeCallBack(JudgementCallBack);
Io_Plugin->SetRazCallBack(RazCallBack);
Io_Plugin->SetSaveCallBack(SaveCallBack);
Io_Plugin->SetPen1CallBack(Pen1CallBack);
Io_Plugin->SetPen2CallBack(Pen2CallBack);
Io_Plugin->SetPen3CallBack(Pen3CallBack);
Io_Plugin->SetPen4CallBack(Pen4CallBack);
return 0;
}
return -1;
}
int FreePlugin(void)
{
if (hPluginLib != NULL)
FreeLibrary(hPluginLib);
if (mcudll != NULL)
FreeLibrary(mcudll);
return 0;
}
07-01-2008 02:56 AM
Bonojur M Muller,
Tout d'abord, merci de prendre du temps pour essayer de resoudre mon probleme.
J'ai integré directement le chargement de ma DLL au programme principal (code ci dessous )
static HINSTANCE mcudll = NULL;
int InitPlugin(void)
{
if (g_DllName[0] != 0)
hPluginLib = LoadLibrary(g_DllName);
else
hPluginLib = LoadLibrary("plugins\\toolpad.dll");
mcudll = LoadLibrary("mcu.dll"); // <<< CHARGEMENT DE LA DLL
if (hPluginLib != NULL)
{
GetFunctionTreeFunctionPtr GetFunctionTree;
GetFunctionTree = (GetFunctionTreeFunctionPtr) GetProcAddress(hPluginLib, "GetFunctionTree");
Io_Plugin = GetFunctionTree();
Io_Plugin->Initialisation();
Io_Plugin->SetJudgeCallBack(JudgementCallBack);
Io_Plugin->SetRazCallBack(RazCallBack);
Io_Plugin->SetSaveCallBack(SaveCallBack);
Io_Plugin->SetPen1CallBack(Pen1CallBack);
Io_Plugin->SetPen2CallBack(Pen2CallBack);
Io_Plugin->SetPen3CallBack(Pen3CallBack);
Io_Plugin->SetPen4CallBack(Pen4CallBack);
return 0;
}
return -1;
}
int FreePlugin(void)
{
if (hPluginLib != NULL)
FreeLibrary(hPluginLib);
if (mcudll != NULL)
FreeLibrary(mcudll); //<<<
return 0;
}
07-01-2008 02:56 AM
Bonojur M Muller,
Tout d'abord, merci de prendre du temps pour essayer de resoudre mon probleme.
J'ai integré directement le chargement de ma DLL au programme principal (code ci dessous )
static HINSTANCE mcudll = NULL;
int InitPlugin(void)
{
if (g_DllName[0] != 0)
hPluginLib = LoadLibrary(g_DllName);
else
hPluginLib = LoadLibrary("plugins\\toolpad.dll");
mcudll = LoadLibrary("mcu.dll"); // <<< CHARGEMENT DE LA DLL
if (hPluginLib != NULL)
{
GetFunctionTreeFunctionPtr GetFunctionTree;
GetFunctionTree = (GetFunctionTreeFunctionPtr) GetProcAddress(hPluginLib, "GetFunctionTree");
Io_Plugin = GetFunctionTree();
Io_Plugin->Initialisation();
Io_Plugin->SetJudgeCallBack(JudgementCallBack);
Io_Plugin->SetRazCallBack(RazCallBack);
Io_Plugin->SetSaveCallBack(SaveCallBack);
Io_Plugin->SetPen1CallBack(Pen1CallBack);
Io_Plugin->SetPen2CallBack(Pen2CallBack);
Io_Plugin->SetPen3CallBack(Pen3CallBack);
Io_Plugin->SetPen4CallBack(Pen4CallBack);
return 0;
}
return -1;
}
int FreePlugin(void)
{
if (hPluginLib != NULL)
FreeLibrary(hPluginLib);
if (mcudll != NULL)
FreeLibrary(mcudll); //<<< DECHARGEMENT
return 0;
}
07-01-2008 02:56 AM
Bonojur M Muller,
Tout d'abord, merci de prendre du temps pour essayer de resoudre mon probleme.
J'ai integré directement le chargement de ma DLL au programme principal (code ci dessous )
static HINSTANCE mcudll = NULL;
int InitPlugin(void)
{
if (g_DllName[0] != 0)
hPluginLib = LoadLibrary(g_DllName);
else
hPluginLib = LoadLibrary("plugins\\toolpad.dll");
mcudll = LoadLibrary("mcu.dll"); // <<< CHARGEMENT DE LA DLL
if (hPluginLib != NULL)
{
GetFunctionTreeFunctionPtr GetFunctionTree;
GetFunctionTree = (GetFunctionTreeFunctionPtr) GetProcAddress(hPluginLib, "GetFunctionTree");
Io_Plugin = GetFunctionTree();
Io_Plugin->Initialisation();
Io_Plugin->SetJudgeCallBack(JudgementCallBack);
Io_Plugin->SetRazCallBack(RazCallBack);
Io_Plugin->SetSaveCallBack(SaveCallBack);
Io_Plugin->SetPen1CallBack(Pen1CallBack);
Io_Plugin->SetPen2CallBack(Pen2CallBack);
Io_Plugin->SetPen3CallBack(Pen3CallBack);
Io_Plugin->SetPen4CallBack(Pen4CallBack);
return 0;
}
return -1;
}
int FreePlugin(void)
{
if (hPluginLib != NULL)
FreeLibrary(hPluginLib);
if (mcudll != NULL)
FreeLibrary(mcudll); //<<< DECHARGEMENT DE LA
return 0;
}
07-01-2008 02:59 AM
Bonjour,
Merci de votre réponse. Pouvez vous me préciser les résultats obtenus ?
Cordialement,
07-01-2008 03:13 AM
07-01-2008 03:48 AM
m Muller,
En complement de mon dernier post, ci joint un petit projet qui permet de tester le comportement de la dll.
Slts.
B.W.
07-01-2008 03:50 AM
07-04-2008 01:44 AM
Bonjour,
Est-ce qu'il est possible pour vous, de réduire le code au maximum afin de bien détecter d'où vient le problème ? Je suis actuellement entrain de faire des tests avec votre DLL, mais la R & D me demande de vous faire réduire votre code.
Bonne journée !
Cordialement,