Cognitronix


13446 Poway Rd. Suite 120, Poway, CA 92064

Orders 800-217-0932, Technical Support: 858-549-8955, FAX: 858-549-8955

E-Mail: Orders, Further Information, Technical Support, Customer Service

Go to: Product Summaries, Developer Products, Consulting Services,


ATL Secrets
1. PROP_ENTRY variable names must not have spaces for VB

The ATL AppWizard leads you astray when showing examples for PROP_ENTRY:

// Example entries

// PROP_ENTRY("Property Description", dispid, clsid)

In reality, if you put spaces in the quoted "Property Description" string, Visual Basic will not load your control.


2. m_bWindowOnly must be set to TRUE for IE v4 to send a WM_CREATE message. IE v3 sends a WM_CREATE message in any case, but IE v4 will not create a window if m_bWindowOnly is not set to TRUE.
3. Version must be 1.0 in control idl file: version(1.0) Do not try to change the version number in the ATL generated IDL file. So far I've not been able to get it to work with anything except version 1.0.
4. If you want enumerated variables to be displayed with their helpstrings as choices in Visual Basic or other containers, they must be declared in the control's IDL file as:

typedef [public]

enum eTextSearchType

{

[helpstring ("Exact Match")] iNORMAL,

[helpstring ("Fuzzy")] iFUZZY,

[helpstring ("First Best Fuzzy Match")] iBEST,

[helpstring ("Wild Card Regular Expression")] iREGEXP

} eTextSearchType;

to have helpstrings show up in choices for the variable.


5. Thread local storage does not work for DLL's including AXC DLL's. If you try to use thread local storage in a DLL (in-process) control, the control will refuse to load, with no warning as to the problem.