>>531
http://www.iwana.to/~sakauchi/diary/?0920
2006年09月20日(水) [n年日記]
#6 [COMP] Delphi で作ったプログラムが 0x0eedfade 例外
Delphi は(DLL内で発生した例外を構造化例外な構文でハンドリングするためだと思いますが)
OS のエラーをハンドリングして,0x0eedfade 例外を raise します.
だからハンドリングされていない例外は,なんでもかんでも kernel32 の 0x0eedfade 例外になります.
Borlandの"Delphi Language Guide"(PDF)

ということで公式と
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Writing_Dynamically_Loaded_Libraries
ttps://www.win.tue.nl/~wstomv/edu/delphi/DelphiLanguageGuide.pdf どこかのドクターっぽい人

Exceptions and Runtime Errors in Libraries
When an exception is raised but not handled in a dynamically loadable library, it propagates out of the library to the caller.
If the calling application or library is itself written in Delphi, the exception can be handled through a normal try...except statement.

On Win32, if the calling application or library is written in another language,
the exception can be handled as an operating-system exception with the exception code $0EEDFADE.
The first entry in the ExceptionInformation array of the operating-system exception record contains the exception address,
and the second entry contains a reference to the Delphi exception object.

Generally, you should not let exceptions escape from your library. Delphi exceptions map to the OS exception model.

If a library does not use the SysUtils unit, exception support is disabled.
In this case, when a runtime error occurs in the library, the calling application terminates.
Because the library has no way of knowing whether it was called from a Delphi program,
it cannot invoke the application's exit procedures; the application is simply aborted and removed from memory.