Allows control over the reporting, logging or debugging of failures from register-server and unregister-server.
The function set-register-server-error-reporter
sets up a function func that is called to report when calls and automatic calls to register-server or unregister-server via the system-defined entry points of a DLL fail.
func should be a function of two arguments.
The automatic calls happen when registering/unregistering a LispWorks DLL that was saved or delivered with the keyword :com
in its :dll-exports
(see Making a COM DLL with LispWorks). If such a call fails, func is invoked with the name of the function that failed (currently either register-server or unregister-server) and the condition. func should report the failure in a useful way, which would normally mean logging it in a place where you can inspect it later.
DllRegisterServer
or DllUnregisterServer
) should normally print an error too. For example, regsvr32
would raise a dialog by default. However, this dialog will not contain any information about what failed inside Lisp. set-register-server-error-reporter
) any such error is simply printed to standard output. cl:invoke-debugger
, which may sometimes be useful during development. LispWorks COM/Automation User Guide and Reference Manual - 14 Feb 2015