Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Computer name and CREATEOBJECTEX()
Message
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Miscellaneous
Thread ID:
00771842
Message ID:
00772218
Views:
17
Geoff,

In order to call a remote dll (COM object), windows will look up the class id of the dll in the local pc's registry, even though the object is installed on another pc or server. The work around for this is to call the CREATEOBJECTEX function with the class id instead of the class name. Look in the folder where you compiled the .dll and there should be a .vbr file. Open this file and look the line that resembles this:

HKEY_CLASSES_ROOT\dllname.objectname\CLSID = {some CLSID string}

Use the CLSID string in your code such as:
loObject2 = CREATEOBJECTEX('{some CLSID string}','YOTTA')
This should work as long as the dll is registered on the YOTTA pc, and you should be able to call it from any other pc on the network.

Hope this helps,
Kurt
>Yes.
>
>The command I used was
>
>
regsvr32 "S:\PC Source\SalesLink 3.1.0\test\myproject.dll"
>
>where "S:" is a network drive.
>
>you said I should put
>
>
regsvr32 \\YOTTA\Path\YourDLL.DLL
>
>but I cannot put
>
>
regsvr32 "\\YOTTA\S:\PC Source\SalesLink 3.1.0\test\myproject.dll"  or
>regsvr32 "\\YOTTA\PC Source\SalesLink 3.1.0\test\myproject.dll"
>
>because regsvr32 cannot locate the DLL.
>
>The object is registered because I can create it using CREATEOBJECT(). At this stage I am doing everything locally.
>
>Regards
>Geoff Scott
>
>
>>Did you tried registering the class how i mentioned with regsvr32
>>
>>the problem is that when you try to create an obeject from a DLL that resides in a Server, the createobject searches in the local windows registry a DLL entry which is located in a directory named "SERVER".
>>
>>Every ActiveX DLL that you want to access has to be registered, if you have a ActiveX DLL in your PC, in order to use it you have to register it, the same with a ActiveX DLL that resides in a remote server, regardedless if they have or not the same name, windows will create a unique name for both of them.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform