OLEAutoObject question

Public support forum for peer to peer support with related to the Visual Objects and Vulcan.NET products
Post Reply
ic2
Posts: 1985
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

OLEAutoObject question

Post by ic2 »

OLEAutoObject question

We use Chilkat for multiple functions like e-mail, FTP etc. On a just updated program we got an error "The specified module can not be found" using the Unlockstatus access of the Chilkat library and while trying to find out the cause we found that we registered a newer version of the DLL than on our own and other systems and that caused the error.

However, I am puzzled by the following. Chilkat used to work with ChilkatAx-9.5.0-win32.dll which was replaced by a DLL with a more general name (without the version number) ChilkatAx-win32.dll. This is obviously used (when we rename that DLL we get the same error).

However: we unlock it with this code, not sure how we came to this (long ago):

Code: Select all

oChilkat:=OLEAutoObject{"Chilkat_9_5_0.Global"}	
How can this work, as OLEAutoObject does not use the actually used DLL name ChilkatAx-win32 (and not even the old name which has -win32 added, and this DLL is certainly not used because I can rename ChilkatAx-9.5.0-win32.dll in the directory in which it was once registered without an issue)?

Dick
User avatar
robert
Posts: 5038
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Re: OLEAutoObject question

Post by robert »

Dick,

Apparently, Chilcat has registered the COM component . The OleAutoObject class searches the registry for the progid "Chilkat_9_5_0.Global"
and from there finds the DLL that implements this com component.

Similarly Microsoft Word is registered here:

HKEY_CLASSES_ROOT\Word.Application

It contains a CLSID subnode with the value {000209FF-0000-0000-C000-000000000046}

This points to HKEY_CLASSES_ROOT\CLSID\{000209FF-0000-0000-C000-000000000046}
And that location has subnodes with the location of the DLL etc



Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
ic2
Posts: 1985
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

Re: OLEAutoObject question

Post by ic2 »

Hello Robert,

Ah, that's how it works. For all other OLEAutoObject the parameter equals the DLL name so it got me puzzled.

Thanks,

Dick
Post Reply