Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8642539
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T11:48:09+00:00 2026-06-12T11:48:09+00:00

Hi i have following c# code for configuring active x components as using System;

  • 0

Hi i have following c# code for configuring active x components as

using System;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using Microsoft.Win32;

namespace Kosmala.Michal.ActiveXTest
{
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    [ProgId("Dendrite.WebForce.MMP.Web.OurActiveX")]
    [ClassInterface(ClassInterfaceType.AutoDual), ComSourceInterfaces(typeof(ControlEvents))] //Implementing interface that will be visible from JS
    [Guid("121C3E0E-DC6E-45dc-952B-A6617F0FAA32")]
    [ComVisible(true)]
    public class ActiveXObject
    {
        private string myParam = "Empty"; 

        public ActiveXObject()
        {

        }

        public event ControlEventHandler OnClose;

        /// <summary>
        /// Opens application. Called from JS
        /// </summary>
        [ComVisible(true)]
        public void Open()
        {
            //TODO: Replace the try catch in aspx with try catch below. The problem is that js OnClose does not register.
            try
            {

                MessageBox.Show(myParam); //Show param that was passed from JS
                Thread.Sleep(2000); //Wait a little before closing. This is just to show the gap between calling OnClose event.
                Close(); //Close application

            }
            catch (Exception e)
            {
                //ExceptionHandling.AppException(e);
                throw e;
            }
        }

        /// <summary>
        /// Parameter visible from JS
        /// </summary>
        [ComVisible(true)]
        public string MyParam
        {
            get
            {
                return myParam;
            }
            set
            {
                myParam = value;
            }
        }


        [ComVisible(true)]
        public void Close()
        {
            if(OnClose != null)
            {
                OnClose("http://otherwebsite.com"); //Calling event that will be catched in JS
            }
            else
            {
                MessageBox.Show("No Event Attached"); //If no events are attached send message.
            }
        }



        /// <summary>
        /// Register the class as a control and set it's CodeBase entry
        /// </summary>
        /// <param name="key">The registry key of the control</param>
        [ComRegisterFunction()]
        public static void RegisterClass ( string key )
        {
            // Strip off HKEY_CLASSES_ROOT\ from the passed key as I don't need it
            StringBuilder   sb = new StringBuilder ( key ) ;

            sb.Replace(@"HKEY_CLASSES_ROOT\","") ;
            // Open the CLSID\{guid} key for write access
            RegistryKey k   = Registry.ClassesRoot.OpenSubKey(sb.ToString(),true);

            // And create   the 'Control' key - this allows it to show up in
            // the ActiveX control container
            RegistryKey ctrl = k.CreateSubKey   ( "Control" ) ;
            ctrl.Close ( ) ;

            // Next create the CodeBase entry   - needed if not string named and GACced.
            RegistryKey inprocServer32 = k.OpenSubKey   ( "InprocServer32" , true ) ;
            inprocServer32.SetValue (   "CodeBase" , Assembly.GetExecutingAssembly().CodeBase ) ;
            inprocServer32.Close ( ) ;
                // Finally close the main   key
            k.Close (   ) ;
            MessageBox.Show("Registered");
        }

        /// <summary>
        /// Called to unregister the control
        /// </summary>
        /// <param name="key">Tke registry key</param>
        [ComUnregisterFunction()]
        public static void UnregisterClass ( string key )
        {
            StringBuilder   sb = new StringBuilder ( key ) ;
            sb.Replace(@"HKEY_CLASSES_ROOT\","") ;

            // Open HKCR\CLSID\{guid} for write access
            RegistryKey k = Registry.ClassesRoot.OpenSubKey(sb.ToString(),true);

            // Delete the 'Control' key, but don't throw an exception if it does not exist
            k.DeleteSubKey ( "Control" , false ) ;

            // Next open up InprocServer32
            //RegistryKey   inprocServer32 = 
            k.OpenSubKey (  "InprocServer32" , true ) ;

            // And delete the CodeBase key, again not throwing if missing
            k.DeleteSubKey ( "CodeBase" , false ) ;

            // Finally close the main key
            k.Close ( ) ;
            MessageBox.Show("UnRegistered");
        }



    }

    /// <summary>
    /// Event handler for events that will be visible from JavaScript
    /// </summary>
    public delegate void ControlEventHandler(string redirectUrl); 


    /// <summary>
    /// This interface shows events to javascript
    /// </summary>
    [Guid("68BD4E0D-D7BC-4cf6-BEB7-CAB950161E79")]
    [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
    public interface ControlEvents
    {
        //Add a DispIdAttribute to any members in the source interface to specify the COM DispId.
        [DispId(0x60020001)]
        void OnClose(string redirectUrl); //This method will be visible from JS
    }
}

and i have created the testpage .html as

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 

<html>
  <head>
    <title>WebForm1</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name=vs_defaultClientScript content="JavaScript">
    <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
  </head>
  <body onload="OpenActiveX()">

  <!-- Our activeX object -->
  <OBJECT id="OurActiveX" name=”OurActiveX" classid="clsid:121C3E0E-DC6E-45dc-952B-A6617F0FAA32" VIEWASTEXT codebase="OurActiveX.cab"></OBJECT> 

  <!-- Attaching to an ActiveX event-->
<script language="javascript">
           function OurActiveX::OnClose(redirectionUrl)
       {
        alert(redirectionUrl);   <!-- http://otherwebsite.com should be returned-->
                    //window.location = redirectionUrl;
           }
</script>


<script language="javascript">
    //Passing parameters to ActiveX object and starting application
function OpenActiveX()
{
    try
    {
        document.OurActiveX.MyParam = "Hi I am here." //Passing parameter to the ActiveX
        document.OurActiveX.Open(); //Running method from activeX
    }
    catch(Err)
    {
        alert(Err.description);
    }
}   


</script>

  </body>
</html>

now when i am running the html page in internet explorer browser i am getting following error as

OBJECT DOES NOT SUPPORT PROPERTY OR METHOD OPEN

can you help me to fix these problem

waiting for your valuable comments and responses

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T11:48:10+00:00Added an answer on June 12, 2026 at 11:48 am

    You have to register your ActiveX control using
    the Microsoft .Net Framework regasm.exe tool.

    To register your ActiveX control use the following steps:

    1. Open a command prompt.
    2. Navigate the installation directory of the .Net framework
      you are targeting (e.g. c:\windows\Microsoft.NET\Framework)
    3. Type the following command

      regasm.exe /tlb /codebase “path to your ActiveX.dll”

    4. Please note, if you are running on a x64 bit operating system
      you have to register your ActiveX control for x86 and x64
      internet explorer.
      For x64 internet explorer you have to navigate to the
      x64 directory of the .Net Framework you are targeting and
      execute the following command:

      regasm.exe /tlb /codebase “path to your x64 ActiveX.dll”

    During registration of your ActiveX dll you should see a message box with
    the message “Registered”. Please not, if you compile your dlls with platform target “Any CPU”
    you can use the same dll for registering.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have following code for updating user's column public void UpdateLastModifiedDate(string username) { using
I have following code for inserting data into database using PDO. It inserts data
I have following code using hibernate to throw a custom exception on error and
I have following code working nicely on all browsers but IE 7... <script type=text/javascript>
I have following code in initialization im = imread('Image02.tif'); figure(); imagesc(im); colormap(gray); [hImage hfig
I have following code <div id=main> <div id=one> </div> <div id=two> </div> <div id=three>
I have following code for loading image from url in xml parsing endElement method
I have following code. ASPX Page <a href=AnyASPXPageOfWebsite.aspx onclick=javascript:CallJQuery(); > Set Price </a> JS
I have following code that I am compiling in a .NET 4.0 project namespace
I have following code: def whatever(url, data=None): req = urllib2.Request(url) res = urllib2.urlopen(req, data)

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.