Je cherche a creer une DLL ( ici "Compteur.dll" ) avec un process sans fin
qui ne se terminerait qu'en tuant le thread.
Voici mon prototype, mais malheureusement celui ci ne fonctionne pas ,
quelqu'un a t il une idee ?
int __stdcall DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID
lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
hinstDLL = LoadLibrary("Compteur.dll"); // je recharge la DLL
if (InitCVIRTE (hinstDLL, 0, 0) == 0)
return 0;
break;
case DLL_PROCESS_DETACH:
if (!CVIRTEHasBeenDetached ())
CloseCVIRTE ();
FreeLibrary(hinstDLL); // je libere la memoire
break;
}
explique deja pourquoi tu veux faire ca? ya forcement un autre moyen plus propre
-- ----- http://dark.freezee.org/ - Dark Update v1.1 - Dark Emule v0.44b r4 - Dark 3D-X (le desktop 3d pour windows) (----------> v0.7 beta dispo)
JB
Ok, je vais aller un peu plus loin dans mes explications :
1) J'utilise Labwindows CVI et le sdk Windows fourni. 2) Le but est de creer un compteur ( Timer ) avec une fonction pour l'initialiser et une autre pour me retourner le temps ecoulé entre l'appel 1 et l'appel 2. 3) Cette Dll fonctionne mais comme chaque appel de cette DLL initialise le Timer elle me retourne systematiquement 0. 4) D'ou l'idee de laisser le process tourner jusqu'a l'appel de la 2e fonction comprenant le FreeLibrary.
J'espere avoir été plus precis.
Voici la fonction 1 et 2 :
void __stdcall DLLTimeOn (void) { // test gTempsTest = 0.0; // Commence le comptage gTempsTest = Timer();
}
/*---------------------------------------------------------------------------*/ /* This sample exported function will be available to callers of our DLL. */ /*---------------------------------------------------------------------------*/ double __stdcall DLLTimeOff () {
double secondes;
// Temps total du passage secondes = Timer() - gTempsTest;
return secondes;
}
"dark poulpo" a écrit dans le message de news: 420cdeeb$0$6601$
explique deja pourquoi tu veux faire ca? ya forcement un autre moyen plus propre
-- ----- http://dark.freezee.org/ - Dark Update v1.1 - Dark Emule v0.44b r4 - Dark 3D-X (le desktop 3d pour windows) (----------> v0.7 beta dispo)
Ok, je vais aller un peu plus loin dans mes explications :
1) J'utilise Labwindows CVI et le sdk Windows fourni.
2) Le but est de creer un compteur ( Timer ) avec une fonction pour
l'initialiser et une autre pour me retourner le temps ecoulé entre l'appel 1
et l'appel 2.
3) Cette Dll fonctionne mais comme chaque appel de cette DLL initialise le
Timer elle me retourne systematiquement 0.
4) D'ou l'idee de laisser le process tourner jusqu'a l'appel de la 2e
fonction comprenant le FreeLibrary.
J'espere avoir été plus precis.
Voici la fonction 1 et 2 :
void __stdcall DLLTimeOn (void)
{
// test
gTempsTest = 0.0;
// Commence le comptage
gTempsTest = Timer();
}
/*---------------------------------------------------------------------------*/
/* This sample exported function will be available to callers of our DLL.
*/
/*---------------------------------------------------------------------------*/
double __stdcall DLLTimeOff ()
{
double secondes;
// Temps total du passage
secondes = Timer() - gTempsTest;
return secondes;
}
"dark poulpo" <qsdqd@sss.ss> a écrit dans le message de news:
420cdeeb$0$6601$8fcfb975@news.wanadoo.fr...
explique deja pourquoi tu veux faire ca? ya forcement un autre moyen plus
propre
--
-----
http://dark.freezee.org/
- Dark Update v1.1
- Dark Emule v0.44b r4
- Dark 3D-X (le desktop 3d pour windows) (----------> v0.7 beta dispo)
Ok, je vais aller un peu plus loin dans mes explications :
1) J'utilise Labwindows CVI et le sdk Windows fourni. 2) Le but est de creer un compteur ( Timer ) avec une fonction pour l'initialiser et une autre pour me retourner le temps ecoulé entre l'appel 1 et l'appel 2. 3) Cette Dll fonctionne mais comme chaque appel de cette DLL initialise le Timer elle me retourne systematiquement 0. 4) D'ou l'idee de laisser le process tourner jusqu'a l'appel de la 2e fonction comprenant le FreeLibrary.
J'espere avoir été plus precis.
Voici la fonction 1 et 2 :
void __stdcall DLLTimeOn (void) { // test gTempsTest = 0.0; // Commence le comptage gTempsTest = Timer();
}
/*---------------------------------------------------------------------------*/ /* This sample exported function will be available to callers of our DLL. */ /*---------------------------------------------------------------------------*/ double __stdcall DLLTimeOff () {
double secondes;
// Temps total du passage secondes = Timer() - gTempsTest;
return secondes;
}
"dark poulpo" a écrit dans le message de news: 420cdeeb$0$6601$
explique deja pourquoi tu veux faire ca? ya forcement un autre moyen plus propre
-- ----- http://dark.freezee.org/ - Dark Update v1.1 - Dark Emule v0.44b r4 - Dark 3D-X (le desktop 3d pour windows) (----------> v0.7 beta dispo)