Click here to Skip to main content
15,887,683 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralAbout OOP thread programming Pin
stans8030-Dec-04 15:32
stans8030-Dec-04 15:32 
Questiontemplate friend operator function ? Pin
anycallmy30-Dec-04 15:15
anycallmy30-Dec-04 15:15 
AnswerRe: template friend operator function ? Pin
toxcct31-Dec-04 4:43
toxcct31-Dec-04 4:43 
GeneralRe: template friend operator function ? Pin
anycallmy3-Jan-05 19:31
anycallmy3-Jan-05 19:31 
Generalevent driven programming Pin
monageasmear30-Dec-04 14:56
monageasmear30-Dec-04 14:56 
GeneralRe: event driven programming Pin
Selvam R30-Dec-04 21:33
professionalSelvam R30-Dec-04 21:33 
GeneralAlternative for ellipses(...) Pin
Anonymous30-Dec-04 13:05
Anonymous30-Dec-04 13:05 
GeneralRe: Alternative for ellipses(...) Pin
Michael Dunn30-Dec-04 14:08
sitebuilderMichael Dunn30-Dec-04 14:08 
I know I've seen an article on this subject in the Debug section here on CP, but in short you make a class that has an operator() overload which resolves to a call to your Debug() function. Debug() then takes a va_args parameter instead of ..., and uses vsprintf() or FormatV() if you're using CString.

The end result is something like (this is rough and untested, but should be enough to get you started):
#define DEBUGMSG CLogWrapper(__LINE__,__FILE__,__FUNCTION___)
 
class CLogWrapper
{
public:
  CLogWrapper(unsigned uLine, LPCTSTR szFile, LPCTSTR szFunction) :
    m_uLine(uLine), m_szFile(szFile), m_szFunction(szFunction)
  { } 
 
  void operator()(LPCTSTR szMessage, ...)
  {
  va_args va;
 
    va_start(va, szMessage)
    Debug(m_uLine, m_szFile, m_szFunction, szMessage, va);
    va_end(va);
  }
 
protected:
  unsigned m_uLine;
  LPCTSTR m_szFile, m_szFunction;
};
Then call it like:
int main()
{
  DEBUGMSG("Int value: %d", 42);
}


--Mike--
LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ | You Are Dumb
Magnae clunes mihi placent, nec possum de hac re mentiri.

GeneralRe: Alternative for ellipses(...) Pin
Anonymous30-Dec-04 14:28
Anonymous30-Dec-04 14:28 
AnswerRe: Alternative for ellipses(...) Pin
kbsbng8-Feb-07 18:35
kbsbng8-Feb-07 18:35 
QuestionHow to print/preview multiple pages Pin
AiKnight30-Dec-04 12:57
AiKnight30-Dec-04 12:57 
AnswerRe: How to print/preview multiple pages Pin
PJ Arends30-Dec-04 20:34
professionalPJ Arends30-Dec-04 20:34 
QuestionDocking Windows...How? Pin
Gurra_Koo30-Dec-04 12:53
Gurra_Koo30-Dec-04 12:53 
AnswerRe: Docking Windows...How? Pin
Selvam R30-Dec-04 21:38
professionalSelvam R30-Dec-04 21:38 
GeneralSubclassing Dialogs Pin
Mike Zinni30-Dec-04 10:41
Mike Zinni30-Dec-04 10:41 
GeneralRe: Subclassing Dialogs Pin
Michael Bergman30-Dec-04 11:57
Michael Bergman30-Dec-04 11:57 
GeneralRe: Subclassing Dialogs Pin
PJ Arends30-Dec-04 12:10
professionalPJ Arends30-Dec-04 12:10 
GeneralDirectx problems Pin
samet karadağ30-Dec-04 10:36
samet karadağ30-Dec-04 10:36 
Generalthread programming Pin
tacvbo30-Dec-04 10:06
tacvbo30-Dec-04 10:06 
GeneralRe: thread programming Pin
ThatsAlok30-Dec-04 18:08
ThatsAlok30-Dec-04 18:08 
GeneralUsing Vectors Pin
dlarkin7730-Dec-04 9:29
dlarkin7730-Dec-04 9:29 
GeneralRe: Using Vectors Pin
ThatsAlok30-Dec-04 18:23
ThatsAlok30-Dec-04 18:23 
GeneralRe: Using Vectors Pin
Neville Franks31-Dec-04 10:06
Neville Franks31-Dec-04 10:06 
GeneralProblem with USB Audio mu-Law Pin
Fei184087730-Dec-04 9:17
Fei184087730-Dec-04 9:17 
GeneralRe: Problem with USB Audio mu-Law Pin
namaskaaram2-Jan-05 17:22
namaskaaram2-Jan-05 17:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.