>Larry -
>
>Some more info --
>
>The code I use to instantiate the object is:
>
>LOCAL loHex AS 'HexValidEmail.Connection'
>loHex = CREATEOBJECT('HexValidEmail.Connection')
>=messagebox(ALLTRIM(STR(loHex.Error)) + ALLTRIM(STR(loHex.LicensedProcessors)))
>
>
>It's from
http://www.Hexillion.com (their HexGadgets)
>
George,
I don't you will be able to use this control in a VFP application. I downloaded the eval version and the control is not in the list that can be added to an OLEControl. Therefore, it is not able to be inserted on a form or subclassed. This is the only way for VFP to use the IClassFactory2 technique. When you compile the form/class library, the license key information is embedded in one of the fields in the SCX/VCX. When VFP goes to instantiate the object, it passes that information to the constructor process. Even though the client machines don't have the design-time license, they have the run-time license information available.
VB handles embedding the information differently. If you specify the control's name in an early binding statement, it embeds the run-time license information into the compiled code. Early binding by itself, which VFP 7 supports, doesn't do anything for you.
Two different paths to achieve the same results: compile license information for later use. From the looks of the DLL, it looks like it was created using MS VC++. Unless they change the control or VFP is changed to handle strongly typed variables differently, it doesn't look like they are going to get used much in VFP.
You might be able to create an ActiveX DLL in VB to wrap the functionality. The ActiveX Dll would have the compiled run-time license information in it. You could instantiate your VB DLL and use it to simply pass COM calls through to the 3rd party control.
HTH.
Larry Miller
MCSD
LWMiller3@verizon.netAccumulate learning by study, understand what you learn by questioning. -- Mingjiao