Visual Basic - Capturar excepcion de Fortran

Life is soft - evento anual de software empresarial
 
Vista:

Capturar excepcion de Fortran

Publicado por juanma (7 intervenciones) el 13/06/2006 11:49:30
Hola.
El problema es un poco lioso.
Tengo una aplicacion en VB.Net que lanza una aplicación escrita en Fortran. El código (resumido) es este:

'-----------------VB application-----------------'
Private ThreadFor As New Thread(AddressOf LaunchProcess)
ThreadFor.Start()

Private Sub LaunchProcess()
Dim Proc As Process
Proc = New Process
Proc.StartInfo.FileName = "C:\FortranApplication.exe"
Proc.StartInfo.WorkingDirectory = "C:\"
Try
Proc.Start()
Proc.WaitForExit()
Catch ex As Exception
'VB Code after RaiseException
End Try
End Sub
'---------------END VB application---------------'

Lo que quiero es que cuando el programa Fortran lance una excepción, el programa VB la capture y pause la ejecución. Aquí está el código de la aplicación Fortran:
'-----------------VF application-----------------'
program SIGNALSENDEREXE
implicit none

!DEC$IF DEFINED (_DLL)
use DFWIN, only: RaiseException, NULL
integer, parameter:: MyException = Z"AC1DBABE"

write(*,*) 'Before pause point p1'
call RaiseException(MyException,0,0,NULL)
write(*,*) 'After pause point p1'
!DEC$ENDIF
end program SIGNALSENDEREXE
'---------------END VF application---------------'

El problema es que VB.Net no se entera de que el programa Fortran ha lanzado una excepción. Creo que se debe a que se ejecuta en un hilo, ya que he provado el mismo codigo fortran compilado como dll y haciendo un call desde VB.Net si captura la excepción. Esta solución no me sirve porque no tengo ninguna forma de pausar la ejecución de la dll.

Alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder