网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C#.NETcom组件的编写

环境:VS2010...WIN7系统
设置工程属性:“生成”-> “为COM Interop注册”。
当然也可以为每个接口设置COM可见性,ComVisibleAttribute类提供了这样的控制。
更改AssemblyInfo.cs……设置COM可见

目前创新互联公司已为近1000家的企业提供了网站建设、域名、网站空间、网站托管、服务器租用、企业网站设计、湟源网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

// 将? ComVisible 设Θ?置?为a false 使?此?程ì序ò集ˉ中D的?类え?型í
// 对? COM 组哩?件t不?可é见?。£如?果?需è要癮从洙?COM 访?问ê此?程ì序ò集ˉ中D的?类え?型í,?
// 则ò将?该?类え?型í上?的? ComVisible 特?性?设Θ?置?为a true。£
[assembly: ComVisible(true)]

建立源码

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace MyLib
{
    [ComVisible(true)]
    [Guid("2CBD3D76-35F1-4f9d-9C1B-9DBFEE412F77")]
    public interface IMyClass
    {
        void Initialize();
        void Dispose();
        String VC(String path);
    }

    [ComVisible(true)]
    [Guid("EA2F140A-108F-47ae-BBD5-83EEE646CC0e")]
    [ProgId("MyLib.MyClassa")]
    public class MyClass : IMyClass
    {
        public void Initialize()
        {
            //nothing todo
        }
        public void Dispose()
        {
            //nothing todo
        }
        public String VC(String path)
        {
           //  x + y;
            if (path.Trim().Equals(""))
            {

                return "no pathx";
            }

            fastvcAtiLib.fastvcyjmC2k c = new fastvcAtiLib.fastvcyjmC2k();
            //   c.novc = true;   //4 test .only show pic .not show vercode text
            // c.oriImg = true;   //img not process and get vercode... cant echo show img pic ..
            c.vg = 1;
            c.sid = "c2n";
          
            string VerifyCode;
            try
            {
                VerifyCode = c.RecByte(path);
            }
            catch (Exception ex)
            {
                VerifyCode = ex.Message;
            }
            return VerifyCode;
        }
    }
}
注册COM组件DLL
regasm   ClassLibrary1.dll /codebase

如果你的DLL不 是强签名的,则必须要使用/codebase参数

反注册使用
regasm  /u ClassLibrary1.dll

使用HTML中VBS脚本测试 


Dim o : Set o=CreateObject("MyLib.MyClass")  
  o.Initialize
    MsgBox "1 + 2 = " & o.vc("c:\dx.jpg")
    o.Dispose
    Set o=Nothing

提示不能创建 ACTIVEX 控件……

原因:是因为注册没有注册上……

提示找不到路径

说明已经注册上了。可能DLL不是强签名的,而又没有指定/CODEBASE属性,导致注册里没有这个键值。而查找不到。


本文题目:C#.NETcom组件的编写
文章分享:http://bjjierui.cn/article/joicgi.html

其他资讯