Création dll visual c++ et utilisation avec windev [Résolu]

Signaler
Messages postés
3
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
14 septembre 2005
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour.
J'ai un probleme d'utilisation avec windev de ma dll crée avec visual c++ et l'aide apportée sur ce site.

Quand je lance une fonction de la dll, windev attend que la fonction soit finit avant d'aller plus loin dans le programme.

Petit probleme car je dois acquérir des données avec ma dll et les récupérer et les afficher dans windev.

Merci d'avance pour l'aide que vous pourrez m'apporter.

6 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Normal si la fonction dll n'est pas appelée dans un thread séparé.

ciao...
BruNews, MVP VC++
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Les threads permettent a un programme d'etre non bloquant sur certaines taches.
C'est a dire, permettre d'executer d'autres tache sans attendre que les precedentes soient terminées.

Tu trouveras des exemples de creation et d'utilisation des threads sur ce site.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Le thread est à implémenter par l'appelant et non dans la func dll sinon il te faudra en + un système de notification de fin de thread etc...

ciao...
BruNews, MVP VC++
Messages postés
3
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
14 septembre 2005

J'ai une autre question j'ai utilisé un tread dans windev pour lancer d'abord une fonction dll puis une autre dans un autre thread
Gros PB elle attend la fin de la 1ere fonction avant de renvoyer une valeur.

Je pense que la declaration de ma dll n'est pas multithread

Je recherche actuellement comment la rendre multithread

merci de votre aide encore une fois
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
La dll doit être "safe thread" si tu dois l'employer dans des threads séparés, c'est à dire qu'elle doit préserver l'intégrité des données entre les différents threads mais c'est tout du côté dll, elle n'a rien à savoir de plus sur le multi threading.
C'est toujours au prog appelant de gérer les threads et non l'inverse.

ciao...
BruNews, MVP VC++
Messages postés
3
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
14 septembre 2005

Merci je laisse ma déclaration de fonction pour que vous puissiez me guider vers les threads.

Dans le fichier.cpp

extern "C" void WINAPI ecrireSREC(void)
{
ecritureFichierSREC();

}

Dans fichier.h

typedef void (WINAPI *DLL_Function_ecrireSREC) ();