09-09-2008 05:52 PM
I am trying to automate this equipment = "Goniomertic Radiometer LD8900R".
The installer included a LabVIEW library that references a new Type Library.
So, I manually registered my type library (Gonio32.tlb). It was successful.
However, I am still having the same error "Error -2147221164 occurred at Class not registered ..."
What am I missing?
Ref:
How Do I Manually Register Type Libraries, ActiveX Controls, and ActiveX Servers?
09-10-2008 02:19 PM
The type library only defines the interface, but doesn't implement it. The implementation is normally in a DLL or EXE file (which also normally contains the type library).
What do you mean with "The installer included a LabVIEW library"?
If you ran an installer from the instrument supplier, it should have taken care of any needed registrations.
Do you have any manual for the supplied automation API?
09-10-2008 04:54 PM
The instrument can with an installer CD and a manual.
This generated a bunch of stuff, including the type library file and some demo LabVIEW code (in a library).
I am trying to run their demo LabVIEw code and that is when I get this error.
09-12-2008 12:47 AM
OK, can you upload the LabVIEW demo so that we could have a look?
Is there a Gonio32.DLL or Gonio32.exe ? If so, try to register them:
regsrv32 <<full path>>\ Gonio32.dll
or
Gonio32.EXE /regserver
And then try to run the demo again...
09-12-2008 11:57 AM
----------Attempt #1 -------------------------------------------------------------------------------------------------------
Command String Entered: "C:\I386\regsvr32.exe" "C:\Program Files\Photon\GonioR\Gio32.dll"
ERROR MESSAGE:
....\Gio32.dll was loaded, but the DllRegisterServer entry point was not Found.
THis file cannot be registered.cannot be registered
----------Attempt #2 -----------------------------------------------------------------------------------------------------
Command String Entered: "C:\I386\regsvr32.exe" /i /n "C:\Program Files\Photon\GonioR\Gio32.dll"
ERROR MESSAGE:
....\Gio32.dll was loaded, but the DllInstall entry point was not Found.
THis file cannot be registered.cannot be registered.
----------------------------------------------------------------------------------------------------------------------------
09-16-2008 01:40 AM
OK, they seem to have made the automation interface the old way.
The errors are expected sincethe DLL doesnt contain code for self registration.
Have you contacted the instrument supplier about this? You shouldn't really have to deal with this because it's the job for the installer to take care of...
Anyway, as far as I know the only way to get this working is to make the relevant registry parts manually for the COM class.
That COM class shall implement the COM interface "IGonio32" , which is already registered manually by you
In the registry under HKEY_CLASSES_ROOT there should be a key named "Gonio32.Document" and under that one an new key named "Clsid" which have a default entry of the GUID "{6E104160-2866-11D2-968D-0000E8D3B9E0}".
Next you have to create a new key under HKEY_CLASSES_ROOT\CLSID which have the name set to your GUID above. Below that key you should create a new key named "InProcServer32", and set it's default value to the complete path to your installed Gio32.dll.
There is a lot more keys and values for most COM classes, but I hope this is enough to get it working.
Now try to run the demo again...