View previous topic :: View next topic |
Author |
Message |
IanLambley
Joined: 17 Dec 2006 Posts: 506 Location: Sunderland
|
Posted: Mon Jun 16, 2025 11:47 am Post subject: |
|
|
Just a small point, I'm using the dlls which you provided on 8th April. |
|
Back to top |
|
 |
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8216 Location: Salford, UK
|
Posted: Mon Jun 16, 2025 4:01 pm Post subject: |
|
|
Ian
You can use the latest FTN95 and DLLs downloadable from this Forum but there is no reason to expect any improvement for select_printer@. |
|
Back to top |
|
 |
IanLambley
Joined: 17 Dec 2006 Posts: 506 Location: Sunderland
|
Posted: Tue Jun 17, 2025 10:28 am Post subject: |
|
|
The problem occurred with FTN95/x64 Ver 9.10.4.0, with the dlls etc. dated 8th April 2025. I have returned to using Ver 9.10.0.0; the crash still occurs. |
|
Back to top |
|
 |
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8216 Location: Salford, UK
|
|
Back to top |
|
 |
IanLambley
Joined: 17 Dec 2006 Posts: 506 Location: Sunderland
|
Posted: Wed Jun 18, 2025 11:37 am Post subject: |
|
|
I've tried that and still have the same fault. |
|
Back to top |
|
 |
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8216 Location: Salford, UK
|
Posted: Wed Jun 18, 2025 4:26 pm Post subject: |
|
|
The next release of salflibc64.dll includes an extenion to TRAP_EXCEPTION@ for x64. Here is some sample code that illustrates the extension.
Code: | integer(7) function Handler()
include <EXCEPTN.INS>
print*,"Processing Handler"
Handler = CONTINUE_EXECUTION
end function
integer(7) function Handler0()
include <EXCEPTN.INS>
print*,"Processing Handler0"
Handler = NONCONTINUABLE_EXCEPTION
end function
program test
integer,parameter::INT_DIVIDEBY_ZERO=14
integer(7),external::Handler,Handler0
integer(7) prevHandler,TRAP_EXCEPTION@
!Note: TRAP_EXCEPTION@ returns integer(7).
prevHandler = TRAP_EXCEPTION@(INT_DIVIDEBY_ZERO, Handler0)
prevHandler = TRAP_EXCEPTION@(Z'80010012', Handler)
i = 0
k = 10/i
end program test |
The extension allows the exception number Z'80010012' to be used as the first argument.
If recovery after exception Z'80010012' is possible then CONTINUE_EXECUTION can be used in the handler.
If recovery is not possible (as in divide by zero) then NONCONTINUABLE_EXCEPTION must be used.
This will allow you to test if the exception is literally an error or something that will be absorbed later within the relevant Windows API call.
p.s. I am assuming that it is an internal Microsoft error that hopefully they will fix in due course. |
|
Back to top |
|
 |
IanLambley
Joined: 17 Dec 2006 Posts: 506 Location: Sunderland
|
Posted: Thu Jun 19, 2025 6:36 pm Post subject: |
|
|
Paul,
Thanks for looking into it. Is there an upfront release available so I can test it?
Regards
Ian |
|
Back to top |
|
 |
IanLambley
Joined: 17 Dec 2006 Posts: 506 Location: Sunderland
|
Posted: Sat Jun 21, 2025 10:50 am Post subject: |
|
|
Paul,
Well done, that has done the trick. Normally it crashed within a few seconds. The print statement in the handler notified me that the exception has occurred.
The program kept on running.
Print statement removed and it still works.
Regards
Ian |
|
Back to top |
|
 |
|