I analyze FreePascal exceptions handling. Instead use of try-excpt-finally statement I rather use fpc_LongJmp,fpc_PushExceptAddr etc. It works fine for software exceptions (fpc_RaiseException) but not handle hardware exceptions. I use install_exception_handlers at start program. This call SetUnhandledExceptionFilter(@syswin32_i386_exception_handler) but is problem:<br>
in syswin32_i386_exception_handler is comparing "if excep^.ContextRecord^.SegSs = _SS then" - _SS is correct stack segment but excep^.ContextRecord^.SegSs - no, it is a different value, why?<br>I can attach my files<br>
<br>best,<br>Andrzej Borucki<br>