Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » illegal vtable pointer when building dialog application Collapse All
Subject Author Date
Sam Contapay Dec 14, 2005 - 11:24 PM

I am using version 2.51 of Prof-UIS Visual Studio 2003 and when I create a simple DIALOG based application using the PROF-UIS wizard and do a straight build and compile I get this error:

ASSERT_VALID fails with illegal vtable pointer

Its a dialog based application with MFC and PROF-UIS linked statically.

Here’s the callstack:

    skcbutler.exe!AfxAssertValidObject(const CObject * pOb=0x00afbab4, const char * lpszFileName=0x00a54ffc, int nLine=215) Line 92    C++
    skcbutler.exe!CMapPtrToPtr::operator[](void * key=0x00afb3b8) Line 219    C++
    skcbutler.exe!CMapPtrToPtr::SetAt(void * key=0x00afb3b8, void * newValue=0x00000000) Line 599 + 0x13    C++
    skcbutler.exe!CTypedPtrMap<CMapPtrToPtr,CExtPmBridge *,void *>::SetAt(CExtPmBridge * key=0x00afb3b8, void * newValue=0x00000000) Line 1994 + 0x33    C++
    skcbutler.exe!CExtPaintManager::CExtPaintManagerAutoPtr::Advice(CExtPmBridge * pPmBridge=0x00afb3b8) Line 1285    C++
    skcbutler.exe!CExtPopupBaseWnd::PmBridge_Install() Line 3819 + 0x51    C++
    skcbutler.exe!CExtPopupBaseWnd::CExtPopupBaseWnd() Line 3841    C++
>    skcbutler.exe!CExtPopupMenuTipWnd::CExtPopupMenuTipWnd() Line 5202 + 0x40    C++
    skcbutler.exe!CExtPopupMenuSite::CExtPopupMenuSite() Line 423 + 0x3b    C++
    skcbutler.exe!$E1() Line 137 + 0x28    C++
    skcbutler.exe!_initterm(void (void)* * pfbegin=0x00aec5c8, void (void)* * pfend=0x00aec9cc) Line 600    C
    skcbutler.exe!_cinit(int initFloatingPrecision=1) Line 215 + 0xf    C
    skcbutler.exe!WinMainCRTStartup() Line 229 + 0x7    C
    kernel32.dll!7c816d4f()     
    ntdll.dll!7c915b4f()     
    kernel32.dll!7c8399f3()     

Any help would be appreciated. There is no error when I switch it to use MFC and Prof-UIS dynamically but I would like to compile it statically for smaller distribution size.

Sam Contapay Dec 14, 2005 - 11:56 PM

If I step back uninstall and go back to 2.50 using the full install download from the website. The above applicaiton works fine with no errors.

Technical Support Dec 15, 2005 - 8:52 AM

We cannot yet confirm this problem. We tried to create a sample project with the Prof-UIS Application Wizard and Visual Studio .NET 2003 and have not faced any assertions. Here is our generated project we used to test Prof-UIS 2.51: TestSimpleDlg2003.zip.

We guess you may have unpacked something incorrectly. Did you close the instance(s) of Visual Studio before replacing 2.50 with 2.51?

Olaf Reusch Jan 3, 2006 - 3:47 AM

I have the same problem with Prof-UIS 2.51. The Stack is the same.

Technical Support Jan 3, 2006 - 4:39 AM

We have already found out what produces the problem described in the top message by Sam. The problem was really added in 2.51 where the most of components are able to receive notifications from the global paint manager. All the components register their pointers for that. Both the paint manager (g_PaintManager) and popup menu site (g_MenuSite) are global variables. The CExtPopupMenuTipWnd object in the menu site is initialized before the paint manager is initialized. That is why the problem occurs. Please contact us to get the bug-free source code.

Olaf Reusch Jan 3, 2006 - 4:29 AM

I have the same Error with your Test Dialog Application. I have switch the compile option from dynamic mfc to static mfc and then come the vtable pointer assert.

Olaf Reusch Jan 3, 2006 - 4:31 AM

I use VS2003 with STLPort

Technical Support Jan 3, 2006 - 4:59 AM

Any STL is not a problem. The discussed assertion is a "feature" which was added in 2.51 and is already removed in 2.52. We are sorry for any inconvenience and can provide you with the source code update. Please contact us by e-mail so we can tell you how to download the update by ftp.

Olaf Reusch Jan 8, 2006 - 11:14 AM

please send me the ftp information at kenterfie@hlsw.org