PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → appeldll32 dans un thread
appeldll32 dans un thread
Débuté par yassine.dahamna, 25 nov. 2005 16:41 - Aucune réponse
Posté le 25 novembre 2005 - 16:41
Bonjour,

Sous windev 9, et sans doutes sous les autres versions, un probleme se pose lorsque l'on appelle une dll dans un thread, cette dll contenant une fonction qui effectue un traitement en boucle avec Sleep() en c++ :

extern "C" __declspec(dllexport) int Initialisation(void)
{
while(1==1) {
Sleep(1000);
OutputDebugString("dll_test_thread => initialisation en cours...");
if (bsortie == true) return 0;
}
}

si l'on fait tout en c++, cela se passe bien mais sous windev, lorsque l'on fait... :

PROCEDURE _ThreadTest()

AppelDLL32("dll_test_thread","Initialisation")

....alors le code qui suit l'execution du thread, a savoir :

GbStopInit = Faux
TANTQUE Vrai
Multitâche(-100)
Trace("tantque.....")
SI GbStopInit ALORS SORTIR
FIN

...ne s'execute pas et le programme est planté alors que la dll continue de tourner !!!!

Si quelqu'un a la solution et l'eplication surtout, alors je suis preneur.

Merci.