|
forums.silverfrost.com Welcome to the Silverfrost forums
|
View previous topic :: View next topic |
Author |
Message |
JohnCampbell
Joined: 16 Feb 2006 Posts: 2555 Location: Sydney
|
Posted: Wed Jan 31, 2018 1:56 am Post subject: |
|
|
Paul,
I have checked the compile options I am using. I have a mix of:
/64
/window /64
/window /64 /inhibit_check 16
The start of the build .bat is: Code: | rem build
del *.obj
del *.mod
del saplot.exe
build_stamp
rem menu routines
ftn95 ceasap_module /64 >>ftn95.tce
ftn95 saplot /window /64 /inhibit_check 16 >>ftn95.tce
ftn95 saplot_menu /window /64 /inhibit_check 16 >>ftn95.tce
ftn95 open /window /64 >>ftn95.tce
ftn95 range /window /64 >>ftn95.tce
ftn95 input /window /64 >>ftn95.tce
ftn95 view /window /64 >>ftn95.tce
ftn95 rotate /window /64 >>ftn95.tce
ftn95 dummy /window /64 >>ftn95.tce
rem input routines
ftn95 sapinput /64 >>ftn95.tce
ftn95 joints /64 >>ftn95.tce
ftn95 read_joints /64 >>ftn95.tce
...
ftn95 dump /windows /64 >>%tce%
...
|
My question is:
When do I need to use the /window option ? |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7930 Location: Salford, UK
|
Posted: Wed Jan 31, 2018 10:04 am Post subject: |
|
|
In this context I think that you will need to use the SLINK64 /windows option.
With SLINK the option can usually be passed via FTN95 but not with SLINK64.
/windows is essentially a linker option. It sets a flag in the header of the executable. |
|
Back to top |
|
|
JohnCampbell
Joined: 16 Feb 2006 Posts: 2555 Location: Sydney
|
Posted: Fri Feb 02, 2018 5:16 am Post subject: |
|
|
Paul,
I have looked into the problem and I think I can say.
# there is a stack corruption, as the return to the menu hangs; changing the return status =0,1 or 2 has no effect.
# removing export_image@ does not change the error, so not the problem.
# my routine to generate the .png file name is causing the problem.
On closer inspection, the code is a bit ugly, with a lack of iostat= options, then deleting then re-opening a file. As bad as it is, I thing Ver 8.20 fails with this. I shall change to using INQUIRE to test for file existence and see what happens. Code: | subroutine get_next_dump_file (file_nn, file_name, prefix, ext)
!
! develop a screen dump file name
!
integer*4 file_nn
character file_name*(*), prefix*(*), ext*4
integer*4 lu, get_file_unit
external get_file_unit
!
lu = get_file_unit (90)
close (unit=lu)
!
11 file_nn = file_nn + 1
if (file_nn > 999) return
!
if (len_trim (prefix) > 0) then
write (file_name, '(a,i3.3,a)') trim(prefix) // 'dump', file_nn, ext
else
write (file_name, '(a,i3.3,a)') 'dump', file_nn, ext
end if
open (unit=lu, file=file_name, status='new', err=11)
close (unit=lu, status='delete')
end subroutine get_next_dump_file
|
The above fails with Ver 8.20 but not 8.10, while the new code works !
INQUIRE (FILE=file_name, EXIST=exist, OPENED=opened, IOSTAT=iostat)
John |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|