OCX - a type of COM object that is specific to Microsoft Visual Basic
DLL - Dynamically Linked Library - can be made by a variety of languages (I only know the Microsoft side - no clue if there is a Unix equiv, although I do know that OS/2 has them too). it is a set of shared functions that programs can share to reduce the amount of code needed and program size. for instance, networking, icons, or windowing done by Windows can all be shared code.
and executable can actually be run by itself, and it would then use those to assist it. while those up there are compiled, they aren't executable.
so you might start up InternetExplorer (exe) and then it will use some shared functions (dll), and... quite frankly I don't really know what the ocx is for, but I think usually networked business components (but I could be wrong on the ocx).\