- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
menu error LNK2019: unresolved external symbol _HANDLEPOPUPMENU@8 referenced in function _MenuWndProc@16
menu fatal error LNK1120: 2 unresolved externals
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Looks like an IVF bug -- the same in both cases. (I have .044 version).
For both system API PtInRect and user-written MenuC.f90::HandlePopupMenu, TYPE(T_POINT) is passed by value. That means it should occupy 8 bytes on the stack rather than 4. Interface blocksin both User32.f90 and MenuD.f90 are correct and state (explicitly or implicitly) that T_POINT is to be passed by value. However, IVF ignores it and adds only 4 bytes in name mangling, resulting in incorrect _PtInRect@8 and _HANDLEPOPUPMENU@8 instead of @12 in both cases.
The workarounds are:
- remove !DEC$ATTRIBUTES VALUE:: ptin both interface and body of HandlePopupMenu
- PtInRect can't be fixed. However, it's simple enough that you can roll your own (pt.x <= rect.right .and. pt.y >= rect.left .and. pt.y >= rect.top .and. pt.y <= rect.bottom).
Steve should I file a bug report or you will take care about it?
Jugoslav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Another question: When I create a new Intel Fortran project of Win32 application of single document interface, it works. But when I open a Win32 Project of the same type created by CVF6.6, it doesn't work. The error is shown below:
cvftest error LNK2019: unresolved external symbol ___WSAFDIsSet@8 referenced in function _FDISSET@8
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
if (ghMenu == 0) goto 99999
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page