Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
686 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [VC++] Utiliser TRACE dans un programme Win32

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VC++] Utiliser TRACE dans un programme Win32

n°938737
Yoyo@
Posté le 06-01-2005 à 08:36:16  profilanswer
 

Salut,
 
Tout est dans le titre.
 
Dans mon programme Win32 fait sous Visual C++, je voudrais utiliser les fonctionnalités de TRACE.
 
Donc, pour cela, je fais un #include <Afxwin.h>
 
Le programme compile et marche. Cependant, mon TRACE ne marche pas correctement, a savoir que rien n'apparait dans ma fenetre de Debug, jusqu'au moment ou je lance un autre programme MFC utilisant TRACE, et la, toutes les TRACE que j'avais utilisées dans mon prog Win32 auparavant apparaissent d'un coup... (donc, un comportement totalement asynchrone)
 
Je tiens a préciser également que j'utilise un /MTd comme directive de compilation, car sinon, il me fait un :
 
error LNK2001: unresolved external symbol __endthreadex
error LNK2001: unresolved external symbol __beginthreadex
 
Des idées?
 

mood
Publicité
Posté le 06-01-2005 à 08:36:16  profilanswer
 

n°938750
Lam's
Profil: bas.
Posté le 06-01-2005 à 08:54:45  profilanswer
 

afxTraceEnabled ?

n°938807
HelloWorld
Salut tout le monde!
Posté le 06-01-2005 à 09:45:41  profilanswer
 

T'utilises une fonction MFC dans un programme qui ne l'est pas ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°938948
Yoyo@
Posté le 06-01-2005 à 11:43:42  profilanswer
 

HelloWorld a écrit :

T'utilises une fonction MFC dans un programme qui ne l'est pas ?


 
Oui, en gros, j'utilise une fonction MFC dans un programme qui ne l'est pas :D  
 
Mias bon, certains composants MFC marchent ainsi (genre les CString), et le TRACE marche "presque". Comment faire pour profiter de cette fonctionnalité sans utiliser un programme MFC?
 
(Pour info, AfxTraceEnabled est bien TRUE)

n°939100
HelloWorld
Salut tout le monde!
Posté le 06-01-2005 à 14:17:49  profilanswer
 

Faudrait étudier le code, mais si celui-ci repose sur la message pump interne des MFC, ben...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°939351
Rits75
to?be:!be
Posté le 06-01-2005 à 16:15:19  profilanswer
 

OutputDebugString("Error str" );
 
tu peux eventuellement faire ca pour taper + vite ;)
#define TRACE(x) OutputDebugString(x);


Message édité par Rits75 le 06-01-2005 à 16:17:54
n°939828
Yoyo@
Posté le 07-01-2005 à 09:05:51  profilanswer
 

Alors, pour info (pour tous ceux qui ont tenté de m'aider):
 
-Tout marche désormais tres bien. En fait, le TRACE lui meme marchait bien, mais a force de tests, etc (y compris avec les outputDebugString), j'ai remarqué que le probleme venait de...moi: Dans mon TRACE de test, j'oubliais de revenir a la ligne ("\n" ) et donc, le tout ne saffichait quau premier TRACE avec retour a la ligne, dou cette impression d'asynchronisme. (et en plus, jétais convaincu que ca venait de probleme de threads, car le seul moyen de faire marcher mon #include <afxwin.h> était de mettre /MTd a la place de /MLd comme directive de compilation, car sinon, y a des problemes avec endthreadx, beginthreadx, etc...
-TRACE n'utilise pas du tout le MessagePump ou les CWinThread des MFC, donc, ca ne pose aucun probleme de l'appeler depuis un prog Win32.  
-Je prefere largement utiliser TRACE plutot que OutputDebugString, car TRACE permet de spécifier a la volée des arguments optionnels (du genre entiers) sans avoir a passer par une Strin intermédiaires. Un TRACE, c'est un peu comme un Printf, alors qu'un OutputDebugString, c'est un peu comme un MessageBox...
 
Voila,
 
Merci a vous.
 
:hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [VC++] Utiliser TRACE dans un programme Win32

 

Sujets relatifs
Utiliser les erreures avec vb6 entrepriseJe ne peux plus utiliser Frontpage pour publier, je prend quoi alors ?
Programme pour automatiser une connexion a une site tt les 0.1 secondeUtiliser la librairie GD avec DEV C++
Programme Image--->MatriceUtiliser un fichier .c dans mon programme avec QT designer
[QT] Comment utiliser des QComboTableItem dans une QDataTable ?VBS- Executer et tester la presence d'un programme
Utiliser une librairie graphique 
Plus de sujets relatifs à : [VC++] Utiliser TRACE dans un programme Win32


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR