Hi folks,
I'm trying to learn how to create a DCOM component in VB6.
I've read the thread and found some answers to what I need, however, the following still remains unanswered:
1. I read in several on-line DCOM tutorials that DCOM components, if to be run on a remote server, must be compiled as an exe and not as a dll. This is because they run out-of-process in a separate address space. dll's on the other hand run in-process and in the same address space as the calling program. In this thread, so far, everyone is talking about registering dll's on the server and not about exe's. Could someone please clarify this for me? Am I missing something?
2. There's mention of the use of MTS to run the dll on the server side. My question is: What if one doesn't use MTS? I'd like to register a DCOM exe on a remote server. Is this just a matter of running regsvr32 xxx.exe? Could someone please explain how to achieve this?
3. Since development will be done in VB, I understand that some extra files will be generated for use on the client side, namely the vbr and tlb files. I also understand that these files will have to registered on each client using clireg32 xxx.vbr. Does this mean that only the vbr files are to be registered on the server and not the tlb?
4. In the client application, the call to create an instance of the remote object is CreateObject("ProgramID"

, but I also see mention of CreateObject("ProgramID","ServerName"

. Which is correct? And, more importantly, what does the Program ID and ServerName refer to? Is ServerName the IP of the remote machine? Where do I get the information for ProgramID and ServerName from?
I really would appreciate some help here. As you all must have realized by now, I am very new to the world of DCOM. Up till a few weeks ago, I didn't even know how to create a regular COM component. Any help will be appreciated.
Thanks.
Roonie1