home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BUG 4
/
BUGCD1997_05.BIN
/
aplic
/
clip4win
/
clip4win.exe
/
C4W30E.HUF
/
SOURCE
/
DBG.PRG
< prev
next >
Wrap
Text File
|
1995-04-27
|
7KB
|
228 lines
#ifndef WIN_DEBUG
#define WIN_DEBUG
#endif
#define WIN_WANT_CLIPBOARD
#define WIN_WANT_ALL
#include "windows.ch"
static aLog := {}
static function asString(x)
local v := valtype(x)
do case
case v == "C"
case v == "N"
return ltrim(str(x))
case v == "L"
return iif(x, ".T.", ".F.")
case v == "D"
return "date"
case v == "U"
return "NIL"
case v == "A"
v = "{"
aeval(x, {|e, i| v += iif(i == 1, "", ", ") + asString(e)})
v += "}"
return v
case v == "O"
return "<Object " + x:classname() + ">"
case v == "B"
return "<Block>"
otherwise
return "<Valtype " + v + ">"
end case
return x
procedure DbgTrace(p1, p2, p3, p4, p5, p6, p7, p8)
local i, c, cBuf := "", n := pcount(), a := {p1, p2, p3, p4, p5, p6, p7, p8}
for i=1 to n
c = AsString(a[i])
cBuf += iif(i == 1, c, chr(9) + c)
next i
aadd(aLog, cBuf)
return
static function asMsg(nMsg)
static aMsg := ;
{ ;
{WM_COMPACTING, "WM_COMPACTING"}, ;
{WM_WININICHANGE, "WM_WININICHANGE"}, ;
{WM_SYSCOLORCHANGE, "WM_SYSCOLORCHANGE"}, ;
{WM_QUERYNEWPALETTE, "WM_QUERYNEWPALETTE"}, ;
{WM_PALETTEISCHANGING, "WM_PALETTEISCHANGING"}, ;
{WM_PALETTECHANGED, "WM_PALETTECHANGED"}, ;
{WM_FONTCHANGE, "WM_FONTCHANGE"}, ;
{WM_SPOOLERSTATUS, "WM_SPOOLERSTATUS"}, ;
{WM_DEVMODECHANGE, "WM_DEVMODECHANGE"}, ;
{WM_TIMECHANGE, "WM_TIMECHANGE"}, ;
{WM_NULL, "WM_NULL"}, ;
{WM_USER, "WM_USER"}, ;
{WM_PENWINFIRST, "WM_PENWINFIRST"}, ;
{WM_PENWINLAST, "WM_PENWINLAST"}, ;
{WM_COALESCE_FIRST, "WM_COALESCE_FIRST"}, ;
{WM_COALESCE_LAST, "WM_COALESCE_LAST"}, ;
{WM_POWER, "WM_POWER"}, ;
{WM_QUERYENDSESSION, "WM_QUERYENDSESSION"}, ;
{WM_ENDSESSION, "WM_ENDSESSION"}, ;
{WM_QUIT, "WM_QUIT"}, ;
{WM_SYSTEMERROR, "WM_SYSTEMERROR"}, ;
{WM_CREATE, "WM_CREATE"}, ;
{WM_DESTROY, "WM_DESTROY"}, ;
{WM_NCCREATE, "WM_NCCREATE"}, ;
{WM_NCDESTROY, "WM_NCDESTROY"}, ;
{WM_SHOWWINDOW, "WM_SHOWWINDOW"}, ;
{WM_SETREDRAW, "WM_SETREDRAW"}, ;
{WM_ENABLE, "WM_ENABLE"}, ;
{WM_SETTEXT, "WM_SETTEXT"}, ;
{WM_GETTEXT, "WM_GETTEXT"}, ;
{WM_GETTEXTLENGTH, "WM_GETTEXTLENGTH"}, ;
{WM_WINDOWPOSCHANGING, "WM_WINDOWPOSCHANGING"}, ;
{WM_WINDOWPOSCHANGED, "WM_WINDOWPOSCHANGED"}, ;
{WM_MOVE, "WM_MOVE"}, ;
{WM_SIZE, "WM_SIZE"}, ;
{WM_QUERYOPEN, "WM_QUERYOPEN"}, ;
{WM_CLOSE, "WM_CLOSE"}, ;
{WM_GETMINMAXINFO, "WM_GETMINMAXINFO"}, ;
{WM_PAINT, "WM_PAINT"}, ;
{WM_ERASEBKGND, "WM_ERASEBKGND"}, ;
{WM_ICONERASEBKGND, "WM_ICONERASEBKGND"}, ;
{WM_NCPAINT, "WM_NCPAINT"}, ;
{WM_NCCALCSIZE, "WM_NCCALCSIZE"}, ;
{WM_NCHITTEST, "WM_NCHITTEST"}, ;
{WM_QUERYDRAGICON, "WM_QUERYDRAGICON"}, ;
{WM_DROPFILES, "WM_DROPFILES"}, ;
{WM_ACTIVATE, "WM_ACTIVATE"}, ;
{WM_ACTIVATEAPP, "WM_ACTIVATEAPP"}, ;
{WM_NCACTIVATE, "WM_NCACTIVATE"}, ;
{WM_SETFOCUS, "WM_SETFOCUS"}, ;
{WM_KILLFOCUS, "WM_KILLFOCUS"}, ;
{WM_KEYDOWN, "WM_KEYDOWN"}, ;
{WM_KEYUP, "WM_KEYUP"}, ;
{WM_CHAR, "WM_CHAR"}, ;
{WM_DEADCHAR, "WM_DEADCHAR"}, ;
{WM_SYSKEYDOWN, "WM_SYSKEYDOWN"}, ;
{WM_SYSKEYUP, "WM_SYSKEYUP"}, ;
{WM_SYSCHAR, "WM_SYSCHAR"}, ;
{WM_SYSDEADCHAR, "WM_SYSDEADCHAR"}, ;
{WM_KEYFIRST, "WM_KEYFIRST"}, ;
{WM_KEYLAST, "WM_KEYLAST"}, ;
{WM_MOUSEMOVE, "WM_MOUSEMOVE"}, ;
{WM_LBUTTONDOWN, "WM_LBUTTONDOWN"}, ;
{WM_LBUTTONUP, "WM_LBUTTONUP"}, ;
{WM_LBUTTONDBLCLK, "WM_LBUTTONDBLCLK"}, ;
{WM_RBUTTONDOWN, "WM_RBUTTONDOWN"}, ;
{WM_RBUTTONUP, "WM_RBUTTONUP"}, ;
{WM_RBUTTONDBLCLK, "WM_RBUTTONDBLCLK"}, ;
{WM_MBUTTONDOWN, "WM_MBUTTONDOWN"}, ;
{WM_MBUTTONUP, "WM_MBUTTONUP"}, ;
{WM_MBUTTONDBLCLK, "WM_MBUTTONDBLCLK"}, ;
{WM_MOUSEFIRST, "WM_MOUSEFIRST"}, ;
{WM_MOUSELAST, "WM_MOUSELAST"}, ;
{WM_NCMOUSEMOVE, "WM_NCMOUSEMOVE"}, ;
{WM_NCLBUTTONDOWN, "WM_NCLBUTTONDOWN"}, ;
{WM_NCLBUTTONUP, "WM_NCLBUTTONUP"}, ;
{WM_NCLBUTTONDBLCLK, "WM_NCLBUTTONDBLCLK"}, ;
{WM_NCRBUTTONDOWN, "WM_NCRBUTTONDOWN"}, ;
{WM_NCRBUTTONUP, "WM_NCRBUTTONUP"}, ;
{WM_NCRBUTTONDBLCLK, "WM_NCRBUTTONDBLCLK"}, ;
{WM_NCMBUTTONDOWN, "WM_NCMBUTTONDOWN"}, ;
{WM_NCMBUTTONUP, "WM_NCMBUTTONUP"}, ;
{WM_NCMBUTTONDBLCLK, "WM_NCMBUTTONDBLCLK"} ;
}
// these 2 arrays are separate because some Clipper compiler
// versions fail with Memory Overbooked or other errors
static aMsg2 := ;
{ ;
{WM_MOUSEACTIVATE, "WM_MOUSEACTIVATE"}, ;
{WM_CANCELMODE, "WM_CANCELMODE"}, ;
{WM_TIMER, "WM_TIMER"}, ;
{WM_INITMENU, "WM_INITMENU"}, ;
{WM_INITMENUPOPUP, "WM_INITMENUPOPUP"}, ;
{WM_MENUSELECT, "WM_MENUSELECT"}, ;
{WM_MENUCHAR, "WM_MENUCHAR"}, ;
{WM_COMMAND, "WM_COMMAND"}, ;
{WM_HSCROLL, "WM_HSCROLL"}, ;
{WM_VSCROLL, "WM_VSCROLL"}, ;
{WM_SETCURSOR, "WM_SETCURSOR"}, ;
{WM_SYSCOMMAND, "WM_SYSCOMMAND"}, ;
{WM_MDICREATE, "WM_MDICREATE"}, ;
{WM_MDIDESTROY, "WM_MDIDESTROY"}, ;
{WM_MDIACTIVATE, "WM_MDIACTIVATE"}, ;
{WM_MDIRESTORE, "WM_MDIRESTORE"}, ;
{WM_MDINEXT, "WM_MDINEXT"}, ;
{WM_MDIMAXIMIZE, "WM_MDIMAXIMIZE"}, ;
{WM_MDITILE, "WM_MDITILE"}, ;
{WM_MDICASCADE, "WM_MDICASCADE"}, ;
{WM_MDIICONARRANGE, "WM_MDIICONARRANGE"}, ;
{WM_MDIGETACTIVE, "WM_MDIGETACTIVE"}, ;
{WM_MDISETMENU, "WM_MDISETMENU"}, ;
{WM_CHILDACTIVATE, "WM_CHILDACTIVATE"}, ;
{WM_INITDIALOG, "WM_INITDIALOG"}, ;
{WM_NEXTDLGCTL, "WM_NEXTDLGCTL"}, ;
{WM_PARENTNOTIFY, "WM_PARENTNOTIFY"}, ;
{WM_ENTERIDLE, "WM_ENTERIDLE"}, ;
{WM_GETDLGCODE, "WM_GETDLGCODE"}, ;
{WM_CTLCOLOR, "WM_CTLCOLOR"}, ;
{WM_SETFONT, "WM_SETFONT"}, ;
{WM_GETFONT, "WM_GETFONT"}, ;
{WM_DRAWITEM, "WM_DRAWITEM"}, ;
{WM_MEASUREITEM, "WM_MEASUREITEM"}, ;
{WM_DELETEITEM, "WM_DELETEITEM"}, ;
{WM_COMPAREITEM, "WM_COMPAREITEM"}, ;
{WM_VKEYTOITEM, "WM_VKEYTOITEM"}, ;
{WM_CHARTOITEM, "WM_CHARTOITEM"}, ;
{WM_QUEUESYNC, "WM_QUEUESYNC"}, ;
{WM_COMMNOTIFY, "WM_COMMNOTIFY"}, ;
{WM_CUT, "WM_CUT"}, ;
{WM_COPY, "WM_COPY"}, ;
{WM_PASTE, "WM_PASTE"}, ;
{WM_CLEAR, "WM_CLEAR"}, ;
{WM_UNDO, "WM_UNDO"}, ;
{WM_RENDERFORMAT, "WM_RENDERFORMAT"}, ;
{WM_RENDERALLFORMATS, "WM_RENDERALLFORMATS"}, ;
{WM_DESTROYCLIPBOARD, "WM_DESTROYCLIPBOARD"}, ;
{WM_DRAWCLIPBOARD, "WM_DRAWCLIPBOARD"}, ;
{WM_PAINTCLIPBOARD, "WM_PAINTCLIPBOARD"}, ;
{WM_SIZECLIPBOARD, "WM_SIZECLIPBOARD"}, ;
{WM_VSCROLLCLIPBOARD, "WM_VSCROLLCLIPBOARD"}, ;
{WM_HSCROLLCLIPBOARD, "WM_HSCROLLCLIPBOARD"}, ;
{WM_ASKCBFORMATNAME, "WM_ASKCBFORMATNAME"}, ;
{WM_CHANGECBCHAIN, "WM_CHANGECBCHAIN"}, ;
{WM_VBXFIREEVENT, "WM_VBXFIREEVENT"} ;
}
static lNotDone := .t.
local i, n := len(aMsg), cRet := alltrim(str(nMsg))
if lNotDone
aeval(aMsg2, {|a| aadd(aMsg, a)})
lNotDone := .f.
endif
for i = 1 to n
if aMsg[i, 1] == nMsg
cRet = aMsg[i, 2]
exit
endif
next i
return cRet
function DbgPadMsg(nMsg)
local c := asMsg(nMsg)
return iif(len(c) < 16, padr(c, 16), c)
procedure DbgShow()
aChoice(5, 5, 15, 55, aLog)
return