Création dll visual c++ et utilisation avec windev

Résolu
hypsxn Messages postés 3 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 14 septembre 2005 - 14 sept. 2005 à 10:58
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 14 sept. 2005 à 23:34
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 sept. 2005 à 11:03
Normal si la fonction dll n'est pas appelée dans un thread séparé.

ciao...
BruNews, MVP VC++
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
14 sept. 2005 à 11:27
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.
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 sept. 2005 à 11:35
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++
3
hypsxn Messages postés 3 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 14 septembre 2005
14 sept. 2005 à 11:59
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
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 sept. 2005 à 23:34
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++
3
hypsxn Messages postés 3 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 14 septembre 2005
14 sept. 2005 à 11:18
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) ();
0
Rejoignez-nous