We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

Toolbar Asset w/VC++ 5.0 in win95 but not winNT

jaustell
jaustell asked
on
Medium Priority
421 Views
Last Modified: 2013-11-20
After upgrading to VC++ 5.0, any app that has a toolbar gets a asset as soon as the mouse is moved over the toolbar.  Note: this happens on some win95 machines but not on winNT.

The debug version of the app asserts in tooltip.cpp at line
383 when the mouse is over the toolbar.  

from tooltips.cpp

void CWnd::FilterToolTipMessage(MSG* pMsg)
{
...snip...

                // add a "dead-area" tool for areas between toolbar buttons
                TOOLINFO ti; memset(&ti, 0, sizeof(TOOLINFO));
                ti.cbSize = sizeof(TOOLINFO);
                ti.uFlags = TTF_IDISHWND;
                ti.hwnd = m_hWnd;
                ti.uId = (UINT)m_hWnd;
                if (!pToolTip->SendMessage(TTM_GETTOOLINFO, 0, (LPARAM)&ti))
                {
                        ASSERT(ti.cbSize == sizeof(TOOLINFO));
                        ASSERT(ti.uFlags == TTF_IDISHWND);
                        ASSERT(ti.hwnd == m_hWnd);
                        ASSERT(ti.uId == (UINT)m_hWnd);
line 383 --->      VERIFY(pToolTip->SendMessage(TTM_ADDTOOL, 0,
(LPARAM)&ti));
                }


...snip...
}

Comment
Watch Question

Commented:
I have not yet been convinced by the features of VC++ 5.0. I have found similar kind of problems while porting my projects across from 4.2 to 5.0. If the project is mission critical. I won't take the risk for some goodies which do nothing.
Commented:
It's really unprofessional to give such disdainful advice without providing any reasoning, suggestions, or insight.  Certainly, some versions of VC++ have bugs, but it really does noone any good to whine about them without at least explaining what they are and how to avoid them.

Back in the scientific world, it's pretty easy to show that the problem occurs only when you have an older copy of COMCTL32.DLL on your machine.  If you've never installed IE 3.0 or newer on the machine you're using to run this program, you can expect this tooltip code to fail 'cause IE switched around the way one of the tooltip structures looks.

You can read about your specific problem in the Microsoft Knowledgebase in the article at http://www.microsoft.com/kb/articles/q167/6/50.htm.

A fix is probably forthcoming, but you might want to investigate obtaining a newer version of COMCTL32.DLL until then.

.B ekiM

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.