[Visual C++] & [MFC] : plantage de D.A.O (MSJet)

: plantage de D.A.O (MSJet) [Visual C++] & [MFC] - Programmation

Marsh Posté le 28-03-2001 à 16:46:51    

Salut,
 
j'utilise Visual C++ 6 sous Win98 avec le MSJet 3.5. J'accède à DAO par les MFC (classe CDaoDatabase etc...)
 
J'ai une classe qui fonctionne dans une appli SDI tout simple qui accède à un MDB Access pour executer un script. Tout tourne nickel.
 
J'ai voulu faire la même chose dans une appli Console avec support des MFC, et là, tout s'execute bien mais à la fin du programme (j'ai vérifié en traçant, c'est après le 'return' final), j'ai un gros plantage dans le Kernel32.
 
Je n'ai pas de fuite de mémoire, j'ai l'habitude de DAO donc je subodore une manip à faire en plus dans la console...
 
Qui a déjà rencontré ce problème ?
 
Merci


---------------
Pipiru piru piru pipiru pi
Reply

Marsh Posté le 28-03-2001 à 16:46:51   

Reply

Marsh Posté le 28-03-2001 à 23:49:53    

J utilise couramment les DAO MFC ( CDao... ) , mais j'ai jamais essayé en mode console !! on peut integrer les MFC en mode console ? dans ce cas pourquoi faire comme ca et pas en mode comme d'hab ?  
 
Sinon ce qu'il faut savoir c'est qu'une appli en mode console est une appli 16 bits et elle est lancée par l'émulateur MSDOS virtuel. Or les MFC DAO utilisent des fonctions 32 bits ( de kernel32) je ne vois pas comment ca peut marcher puisqu'une appli console est 16 bits ? je pense que ca n'est pas possible , mais je n'en suis pas sur. Ce qui est sur c'est qu'une fonction win32 ne peut pas etre appelé par une appli en mode console.
 
J'espere que tout ceci pourra t'aider .

Reply

Marsh Posté le 29-03-2001 à 00:00:34    

Etant donné, que c'estle wizard de crosoft qui me propose de créer une "Application Console Win32 avec support MFC", je pense que c'est fait pour.
 
C'est un EXE 32 bits lançable depuis la console (de toute façon, VC++6 ne fait que du 32bits). J'ai pas encore testé mais ça doit tourner aussi sur NT4.
 
L'avantage, c'est que ça fait un exe qu'on peut lancer dans un bat ou un vbs.


---------------
Pipiru piru piru pipiru pi
Reply

Marsh Posté le 29-03-2001 à 00:21:45    

mets AfxDaoTerm() à la fin de ton programme , ca ira mieux !!! :)
 
(je pense que t'as pas oublié #include <afxdao.h> dans stdafx.h

Reply

Marsh Posté le 30-03-2001 à 11:03:56    

xilebo a écrit a écrit :

mets AfxDaoTerm() à la fin de ton programme , ca ira mieux !!! :)
 
(je pense que t'as pas oublié #include <afxdao.h> dans stdafx.h




 
Ca marche avec AfxDaoTerm() ! (effectivement j'ai déjà mis le #include <afxdao.h> ).
 
Ca fait pas mal d'appli que je fais avec DAO mais je ne connaissais pas encore cette fonction (en lisant la doc, je suis tombé sur d'autres fonctionnalités interessantes d'ailleurs).
 
Merci Xilebo.


---------------
Pipiru piru piru pipiru pi
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed