Be careful in using CreateObject with two arguments

If you install a COM+ application proxy on a client and open its Properties dialog, you’ll see that the field “Remote Server Name” is set to the server where you created and exported the application. Before you export the component, you can also change the server name by setting the “Application Proxy RSN” option in the Options tab of the Properties dialog for the My Computer node.

That server name is used when the client computer creates an instance of the remote component with the following syntax:

Dim myComp as ObjectSet myComp = CreateObject("MyServer.MyComp")

However, the CreateObject function can also take the server name as a second optional parameter, as follows:

Dim myComp as ObjectSet myComp = CreateObject("MyServer.MyComp", "MyServerName")

In this case, no matter what the value in the field “Remote Server Name” is, the CreateObject function will always use the name passed as second parameter to create the object, bypassing the server name specified in the COM+ catalog. If you specify a wrong/unreachable server name you’ll get an error, DCOM will not fallback to the server name defined in the COM+ catalog.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: