zoukankan      html  css  js  c++  java
  • C# 做ActiveX控件问题

    创建ActiveX控件:

    1、 新建项目“Windows控件库”,从项目中删除UserControl1.cs,新建“用户控件”项并指定名称。

    2、 打开项目属性,在“生成”标签页中选中“为COM Interop注册”。

    3、 打开Properties中的AssenblyInfo.cs,修改[assembly: ComVisible(false)],将false改为true,否则编译会出现“不包含可为COM Interop注册(注销)的任何类型”警告。

    4、 编译。

    创建网页:

    1、 新建ASP.NET网站,选择“位置”时单击“浏览”,选择本地IIS,“创建新的Web应用程序”,打开并确定。

    2、 在Default.aspx的适当位置加入

    <object classid="http:TestActiveX.dll#TestActiveX.Picture" width="640px" height="480px"></object>

    其中classid的格式为“http:组件名#命名空间.类”。

    3、 生成网站。

    4、 将组件复制到网站相应目录中。

    使用C#创建ActiveX控件(译文)

    首先创建DLL库,代码如下:

    using System;

    using System.Runtime.InteropServices;

    namespace ANamespace

    {

    // 定义COM组件的接口

    public interface ASignatures

    {

        string FName();

        string SName();

        int Age { get;}

    }

    // 表明此类会被公开为一个COM组件的接口

    [ClassInterface(ClassInterfaceType.AutoDual)]

    public class AClass :ASignatures

    {

    // 具体实现接口的方法

        public string FName()

        {

          return "Imran";

        }

        public string SName()

        {

          return "Nathani";

        }

        public int Age

        {

          get { return 24; }

        }

    }

    }

    将上面的代码保存为AClass.cs,然后编译: csc /t:library AClass.cs

    将得到一个AClass.dll,然后注册:regasm AClass.dll /tlb /codebase

    最后创建一个HTML测试网页,内容如下:

    <html>

    <head>

    <script language="javascript">

        <!-- Load the ActiveX object -->

        var x = new ActiveXObject("ANamespace.AClass");

        <!-- Access the Method -->

        alert(x.FName());

        alert(x.SName());

        <!-- Access the Property -->

        alert(x.Age);

    </script>

    </head>

    <body>

    </body>

    </html>

  • 相关阅读:
    Python shutil模块
    Flask 上传文件
    Flask DBUtils
    flash-session
    Flash 上下文管理
    python 栈
    python 偏函数
    threding.local
    next() 与 nextLine() 区别
    Thread.sleep(1000*3); // 休眠3秒
  • 原文地址:https://www.cnblogs.com/ting5/p/5151545.html
Copyright © 2011-2022 走看看