minow@thundr.dec.com (Fortran for Precedent) (11/02/88)
I have a program that "almost" works: just the debugging left to do. Being a cautious person, I've left a number of DebugStr() calls in the code that trap when something unusual (such as an I/O or out-of-memory error) occurs. Since the people testing my program don't have access to the sources, the occasional traps are disconcerting. I've fixed the problem by checking that the Think C debugger's linked in before calling Debugger() and DebugStr(). The conditioning variable is set at program startup by means of the following ugly hack: menu = GetMHandle(1); /* Apple Menu */ enable_debugger = FALSE; for (i = 1; i <= CountMItems(menu); i++) { Str255 item; GetItem(menu, i, item); if (EqualString(item, "\pTHINK C Debugger", TRUE, TRUE)) { enable_debugger = TRUE; break; } } Martin Minow minow%thundr.dec@decwrl.dec.com