Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

QuickWin - severe (172)

Neels
New Contributor II
1,672 Views

While working away on my combination QuickWin / Xeffort project everything seemed fine. (Latest compiler, Win7, 64bit but creating a 32bit executable)) However when testing on a 32bit computer, both Win7 and WinVista it gives the error "forrtl: severe (172)" but before that it pops up with a bizarre request about there being no disk in the drive.

screen1.png

On canceling this the following error appears:

screen2.png

I have no idea even where to look. (I am an engineer, not a programmer)

 

0 Kudos
10 Replies
Harry_A_
Beginner
1,672 Views

I probably won't be able to help you very much beyond this stage.  However, when I see a traceback message full of Unknowns, my next step is usually to create a Debug version and run that.  The traceback gthen ives much more information.

 

0 Kudos
Neels
New Contributor II
1,672 Views

This was the debug version with traceback.

0 Kudos
Harry_A_
Beginner
1,672 Views

Maybe you intended to define an input or output file in a certain way and inadvertently defined it as something else.  If the file has a unit number and that number was a variable, maybe it was changed somehow.  If the file was named by a character string, maybe the name got corrupted.  These are the sorts of things that would go through my mind.

0 Kudos
Neels
New Contributor II
1,672 Views

I have narrowed it down to using a listbox with DFLOGM - which works and XFLOGM which gives the attached errors on a 32bit machine.

I tried compiling Xeffort with the latest compiler but it had no effect, using DFLOGM solves the issue.

The single biggest reason I have for using XFLOGM is this command:

  RetLog = DlgSet(Dlg, IDC_Button_OldPFile, .True.,  Dlg_Visible)

so if there is an easy way to do in DFLOGM.....

0 Kudos
andrew_4619
Honored Contributor III
1,672 Views
use ifwin
integer(bool) :: bret

if( VIS) then
  ! to make visible
  bret = ShowWindow (GetDlgItem(Dlg%hwnd, IDC_BUTTON) , SW_HIDE ) 
else
  ! to make invisible
  bret = ShowWindow (GetDlgItem(Dlg%hwnd, IDC_BUTTON) , SW_SHOW) 
endif

 

If you have a lot of occurrences edit to say myDLGSET and create a simple routine based on the snipped above

0 Kudos
andrew_4619
Honored Contributor III
1,672 Views

Use IFLOGM not DFLOGM! The D works because intel still have a dlfogm mod file that says use iflogm but it is well obsolete!

0 Kudos
Neels
New Contributor II
1,672 Views
Thanks Andrew, I will try that. I normally use IFLOGM but tried DFLOGM to see if it helps because Xeffort still uses DFLOGM. This software predates MSPowerstation, I started it on a VAX750 in the early 80's.
0 Kudos
Neels
New Contributor II
1,672 Views

Andrew,

I tried it and it does nothing, For both the hide and show cases it returns a bret value of 0. (Assume you swapped hide and show in your example?). Am I missing something?

Thanks

Neels

 

0 Kudos
andrew_4619
Honored Contributor III
1,672 Views

Worked for me. would need to be called from a callback. remember that Dlg%hwnd is not initialised until dlgmodal has been called. Yes my comment on the code were inverted.... 

 

0 Kudos
Neels
New Contributor II
1,672 Views
Ok, from this I understand it must be in the callback routine and not in the routine that initializes the dialog box?
0 Kudos
Reply