In that case, you probably would use a global. The problem with the overuse of globals is that they can make the code unreadable, if only because someone examining a function, say, would have to navigate thru the code just to figure out what is going on there. But no, in general, other than the rule of thumb that you should make the global names unique ( ie: not 'x' or something!!), using global variables sparingly is fine and sometimes preferable. BTW: Microsoft's Windows API is the King of Globals, if you hadn't already noticed...