DOCUMENT:Q158765 20-AUG-1999 [foxpro] TITLE :INFO: NODUALINTERFACE Entry is Placed in Registry by VFP 5.0 PRODUCT :Microsoft FoxPro PROD/VER: OPER/SYS: KEYWORDS:kbsetup kbvfp500 kbvfp600 ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual FoxPro for Windows, versions 5.0, 6.0 ------------------------------------------------------------------------------- SUMMARY ======= Some ActiveX controls can support early binding, that is, where the control supports a dual interface (a combination of an IDispatch and a Vtable interface). If an ActiveX control registers itself incorrectly as supporting a dual interface, then it might produce incorrect error messages. These errors may include Invalid Page Fault errors under Windows 95 or Access Violation errors under Windows NT. MORE INFORMATION ================ Some ActiveX controls might be incorrectly registered as supporting Vtable binding. This might cause an error when you use an ActiveX control. Visual FoxPro 5.0 addresses this error in the development environment by adding the "NoDualInterface" key to the registry. This key lists three known controls that can register themselves as supporting Vtable binding. Note that there may be other Activex controls that register themselves as supporting Vtable binding when, in fact, they do not. If you add them to this list, they function properly. When Visual FoxPro is used to build an .exe file, it does not add the NoDualInterface key to the registry file upon installation. If an ActiveX control does not perform correctly, use the SYS(2333) function to enable or disable dual-interface support of an ActiveX control. You can also build a .reg file and run it as a post-executable when you install the .exe file. This adds the "NoDualInterface" key to the registry. Or, you can write a program in Visual FoxPro that updates the registry. REFERENCES ========== For more information about how to write a program in Visual FoxPro to update the registry, please see the following article in the Microsoft Knowledge Base: Q135398 How To Write to the Windows Registry Using API Calls For more information about early binding, please see the following article in the Microsoft Knowledge Base: Q138138 Three Binding Types (Late, ID, Early) Possible in VB for Apps Currently, Visual FoxPro 5.0 is the only Microsoft product that supports the early Vtable binding of an ActiveX control. To disable dual-interface functionally of an ActiveX control, use the SYS(2333) function. Additional query words: ====================================================================== Keywords : kbsetup kbvfp500 kbvfp600 Technology : kbVFPsearch kbAudDeveloper kbVFP500 kbVFP600 Issue type : kbinfo ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1999.