Posted By: pivson (Pijte pivo, je zdrave !) on 'CZprogram' Title: Re: Prekreslovani (was: MS v D4) Date: Wed Sep 29 19:11:20 1999 > > Omlouvam se, v InvalidateRect staci predat NULL ... a co se tyce debugu - > pokud si budu predavat zpravy do jinyho procesu, tak uz to trochu presahuje > ramec toho co sem - tj. kratoucka aplikace jejiz vytvoreni zabere par minut > ... Jinak pak uz je lepsi pouzit TRACE, ale to je vice mene cast MFC, takze > pro ty, co nemate radi MFC je lepsi napsat si vlastni interprocess > komunikaci > ;) > > > Jerry III > > I kdybych vedel ze za pet minut zanikne svet, jeste bych si sel zkontrolovat > > e-mail > > http://jerryiii.home.sprynet.com/mica/index.htm Nehctel sem, ale uz je to tu :) MFC :) tak dasi mas debug W, JErry ;) TRACE je nanic, protoze kdyz padne alikace, stahne sebout debuger, a jak si pak prectes co se stalo ? he ? MFC.PolibMi se akorat nastavi na true : A ani se neskrnes ;) [nevim jak tobe, ale me se pomerne dost stane ze padne debuger trde na podlahu, pokavad sem v 9x tak i s tim dosem)... Nekamenujte me za silenej zrojak, napsal sem si to pred 3 rokama a od tyu doby sem na to nesach.. #ifndef DEBUGW_H #define DEBUGW_H void __stdcall DebugWAddString(char* mfile,int mline,char* mdate,char* format,...) { static COPYDATASTRUCT cds; static HWND dest=NULL; static TCHAR* d; static TCHAR msgbuf[512]; static TCHAR msgbuf2[512]; static int x; static TCHAR out[512]; va_list arglist; if (!dest) { dest=FindWindow("Ray's message debuging class",NULL); if (!dest) return; } va_start( arglist, format ); vsprintf(msgbuf, format, arglist ); va_end( arglist ); if (msgbuf[strlen(msgbuf)-1]=='n') msgbuf[strlen(msgbuf)-1]=0; while (NULL!=(d=strchr(msgbuf,'n'))) { memcpy(msgbuf2,msgbuf,d-msgbuf); msgbuf2[d-msgbuf]=0; sprintf(out,"%s|%s|%c|%s",msgbuf2,mfile,mline,mdate); rZEROSTRUCT(cds); cds.dwData=0; cds.cbData=strlen(out)+1; cds.lpData=out; FORWARD_WM_COPYDATA(dest,NULL,&cds,SendMessage); _tcscpy(msgbuf,d+1); } sprintf(out,"%s|%s|%d|%s",msgbuf,mfile,mline,mdate); rZEROSTRUCT(cds); cds.dwData=0; cds.cbData=strlen(out)+1; cds.lpData=out; FORWARD_WM_COPYDATA(dest,NULL,&cds,SendMessage); } #endif Aby ste se nelekly, patri sem makro: #ifdef _DEBUG #define DPRINT DebugWAddString(__FILE__,__LINE__,__TIMESTAMP__, #define _ASSERTRET(expr) _ASSERTE(expr) #else #define DPRINT /##/ #define _ASSERTRET(expr) (void)expr #endif #define IPRINT DebugWAddString(__FILE__,__LINE__,__TIMESTAMP__, void __stdcall DebugWAddString(char* file,int line,char* time,char* format,...); No a nakonec example :) DPRINT "bleble, je tu %d piv",DemeNaPivo); zpusoby vypis (DebugW ma vis spoupcu, co radek, to sloupec): (ten text, uz sem to zapomel a nic nevidim :) 456 [top je jako radka] \SudPivoGambac.cpp [to jako file] 1.1.2000 [to jako datum]... S pulitrem Pivson I a posledni, z bozi vule pivar http://pulse.mute.cz http://it3.mute.cz A co budou delat cesi ??? Deme na pivo !