- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I found that the IVF10/VS 2005 version of an old program developed under CVF6.6c caused an access violation on clicking the exit button. After some checking around, I found that a brand new wizard-generated dialog-based project (WinApp1) which compiles and runs initially, has the same access violation when the dialog contains a list-view control. I have made no changes to any code and no changes to the default attributes of the list-view, I just placed the list-view in the dialog.
The access violation occurs at ...
call DlgUninit(gdlg)
Any suggestions?
With many thanks
Mike
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Note that List-Views are not supported by IFLOGM in the sense that you cannot DlgSet/DlgGet anything for them. However, they should be at least partly manageable using DlgSendCtrlMessage, and IFLOGM shouldn't crash with their presence.
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
Thanks Guys,
If I update to 10.1 do I have to buy it outright or does it come as an upgrade to 10.0 (to which I have only recently converted)? Either way, I would appreciate the source code change to DFLOGM.F90 (IFLOGM?). Thanks.
Incidentally, to answer Jugoslav's reply, I am using a trick ...
iret = SetWindowLong(Dlg%hWnd,GWL_WNDPROC,LOC(SubclassProc))
that you showed me a year or so ago. It gives me access to the full capabilities of a list view.
Many thanks
Mike
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The fix is this. Save a copy of Fortran10.0.xxxIA32IncludeIFLOGM.F90 in your own project and add it to your project. Open your copy of IFLOGM.F90 and look in the vicinity of line 1337 for this code:
end if
end if
end do
if (sysmenu) then
Insert the following lines before the first "end if":
else
! Not a recognized control, zero out the sizes so that we don't
! try to deallocate them in DlgUninit.
dlg % list(dlg%NumControls) % intsize = 0
dlg % list(dlg%NumControls) % logsize = 0
dlg % list(dlg%NumControls) % charsize = 0
dlg % list(dlg%NumControls) % callbacksize = 0
dlg % list(dlg%NumControls) % vartextptr = 0

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