An ActiveX Dll runs is an in process server running in the same memory space as the client process.
An ActiveX Exe is an out of process server which runs in it's own separate memory space.
Question 2 is the same as question 1.
Advantages of ActiveX Dll
-------------------------
1) An in-process component shares its client's address space, so property and method calls don't have to be marshaled. This results in much faster performance.
Disadvantages of ActiveX Dll
----------------------------
1) If an unhandled error occurs it will cause the client process to stop operating.
Advantages of ActiveX Exe
-------------------------
1) The component can run as a standalone desktop application, like Microsoft Excel or Microsoft Word, in addition to providing objects.
2) The component can process requests on an independent thread of execution, notifying the client of task completion using events or asynchronous call-backs. This frees the client to respond to the user.
3)If an error occurs the client processes can continue to operate.
Disadvantages of ActiveX Exe
----------------------------
1) Generally slower than an ActiveX dll alternative.
Rahul Mehta (MCAD)
Systime India