Probleme thrtead (je galaire)

khamine Messages postés 27 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 2 septembre 2005 - 24 août 2005 à 18:50
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 25 août 2005 à 15:03
salut tous le monde.
j'ai essayé de me connecter a une base de données dans un thread mais ca marche pas. alors j'ai crée une nouvelle classse ou je me connecte a la base, si j'appelle cette classe en dehors du tread ca marche mais dans le thread ca me renvoi la meme erreure que ds le premier ca "accés violation". si qlq1 a une solution ou une autre idée merci de me la faire comminiquer.
merci et bonne chonce a tous.

6 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 août 2005 à 19:21
Je ne vois pas d'ou ca vient, malgré ta description ultraprécise du problème. Et je vois pas en quoi la création d'une classe pourrait te porter secours
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 août 2005 à 19:25
dans WinMain():
if(S_OK != CoInitializeEx(NULL, COINIT_MULTITHREADED)) return 0;

Je fais avec ADO, idem pour autre méthode du moment que c'est du COM:
_ConnectionPtr doit être initialisé dans le même thread que tout ce qui s'en servira, son CreateInstance(__uuidof(Connection)) comme tout le reste.

ciao...
BruNews, MVP VC++
0
khamine Messages postés 27 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 2 septembre 2005
25 août 2005 à 10:46
Mercie pour vos reponses; BruNews j'ai pas compris se que tu veux dire par initialisé ds le mm thread moi j'utilise dao sur VC++ avec l'instentiation et tous(normale quoi).
vecchio56 j'ai utilisé une nouvelle calsse ou je me connecte a la DB si j'execute la classe toute seule ca marche impec mais si je l'appelle a traves le thread ca bloc (accés violation)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 août 2005 à 11:04
On ne doit plus faire de DAO depuis 1998, MS le mentionne depuis cette époque très lointaine. Il n'y aura pas de portage 64 bits pour DAO, alors débuter un nouveau code sur DAO fin 2005, c'est peut-être abusé, non ?
Utilise ADO au lieu de DAO.

ciao...
BruNews, MVP VC++
0

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

Posez votre question
khamine Messages postés 27 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 2 septembre 2005
25 août 2005 à 14:37
je sais que c'est un peu primale mais DAO m'est imposée, c'est pas là la question le probleme perciste meme avec ADO et ODBC.
Mercie;
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 août 2005 à 15:03
Pour ton histoire de thread je t'ai expliqué plus haut, le pointeur database est valide dans le thread qui le crée.
Ensuite si c'est du MFC (ce que je crois mais non indiqué) je ne pratique plus ce sabir depuis des lustres donc je ne saurais pas t'aider. Essaie d'initialiser ta classe CtrucDB dans le thread qui l'utilisera.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous