Do you need pre or post events? If it's pre compile, one way is to write your own macro
_command my_compile() name_info(','VSARG2_MARK|VSARG2_REQUIRES_EDITORCTL)
{
// do something
execute('project-compile');
}
Another way is to use the %M switch in the compile command - see _parse_project_command in the help.
You could also hack the project_compile() function in compile.e.
If you need a "post compile" event, I don't know how to find out when an asynchronous command running in the process buffer has finished. If you run the compiler via a batch file, you might be able to call slickedit back at the end.