说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何用VB6写COM组件(一)

HTML文档下载 WORD文档下载 PDF文档下载
VB如何用VB6写COM组件(一)
所幸的是,我们可以用COM组件来在最大程度上扩展ASP的功能。你可知道,任何可以用诸如VB,VC和VJ以及其它的一些程序语言所写出来的东西,都可以被应用到你的网站的开发中去,这就是COM(组件对象模型)。COM能够用来编写能够被ASP所调用的对象。当在VB等编程环境中完成了组件的编制后,就可以放在ASP页面中被ASP所调用了。在这篇文章中,我们将看到如何使用VB6来编写一个COM对象,如何将其注册在服务器上,并在ASP页面中对其进行调用。但在开始之前,让我先来简单的介绍一写关于COM的小知识。

   COM对象通常表现为一个.dll文件,是一个编译好了的可执行程序。这意味着COM的运行速度要比纯ASP代码要快的多。在调用COM对象之前,必须在运行IIS服务器的机器上对其进行注册,而且不能通过ASP代码来注册COM组件,这也就是说你必须有对服务器的使用权限。

   现在来看一看我们要实现的任务:我们需要创建一个组件,当你对它传递一个年份的时候,它能够告诉你这一年是否为闰年。当然,这个任务可以用VBScript来实现的。这儿是用这个简单的例子,只是为了程序的简便起见,从而能够把更多的注意力放在如何创建组件以及如何同ASP进行交互上面。实际上如同上面所说的那样,你可以使用VB的任何功能来创建这个组件。

   首先要做的当然是编写ActiveX dll组建,至于到底如何在ASP中调用它,我们会在后面提及。打开Visual Basic,一个对话框会提示你选择一种新建工程类型,在这儿当然选择“ActiveX DLL”。

   如果工程浏览器没有被打开,可以通过选择菜单栏上面的“视图|工程浏览器”来打开它。如果属性窗口也没有打开,同样的方法,可以打开属性窗口。

   现在在工程浏览器中点击Project1,然后可以在属性窗口中看到工程的name 属性为Project1,把它改为CheckYear。当然如果你很懒的话,你也可保留这些缺省的设置,只需在后边在ASP中调用它的时候,也使用相应的工程名和类名就好了。

   现在在工程中,已经预建了一个缺省的类,你可以按你自己的喜好来重新对其命名。在这儿把类命名为LeapYear。

   在类中填写入如下的代码:

   Option Explicit

   注释:用来判断一个年份是否为闰年的函数

   Public Function IsLeapYear(yr As Variant) As Boolean

   注释:如果年份能够被4整除并且不能被100整除,或者能够被400整除

   注释:那么它就是闰年

   If (yr Mod 4 = 0 And yr Mod 100 < > 0) Or yr Mod 400 = 0 Then

   IsLeapYear = True

   Else

   IsLeapYear = False

   End If

   End Function

   上面就是所需要的全部代码了,其实很简单。下面所要做的,就是把它编译成一个dll文件。在“文件”菜单中选择“建立CheckYear.dll...”,再选择要文件要保存的路径。一般的,可以在在服务器上的InetPub目录下面建一个Server Components目录,专门用来存放所有用于ASP中的组件。但这不是必须的,无论你把dll文件保存在什么地方,在编译的过程中,编译程序都会自动的在系统中对组件进行注册
围观龙虎斗:谷歌GCE vs. 亚马逊AWS,要做9件事 未来编程趋势的12个猜想 命令行永存... IBM发布SmartCloud数据虚拟化服务 嚓嚓嚓嚓:虐心的Flappy Bird今日终于下架 Flappy Bird不再“飞翔”后,还剩下什么? 索尼抛售PC业务:内忧外患导致全面退出 慧正通软技术副总裁:工作流引擎厂商的生存之道 TIOBE 2014年2月编程语言排行榜:VB.NET首次进入TOP 10 斯诺登仅用“网络爬虫”软件获取机密文件 全球开发者:iOS、Android、WP哪个最赚钱? 推荐15款响应式Web设计测试工具 开源世界应该致谢的五家公司 Square、LinkedIn、Google... 高薪利器:四大热门云计算认证推荐 陌生的编程任务,该拿你怎么办? 辟谣:网传Flappy Bird开发者已经自杀 Apple可穿戴倾向健康类,又一个即将被颠覆的行业 传诺基亚月底推Android手机 去除一切谷歌服务 响应式网站与原生移动应用,哪个更适合你的企业? HBuilder:最快的Web开发IDE 成功开发系统集成项目的六大建议 OS X平台上出现窃取比特币的木马 《近匠》第11期:Arrownock——移动社交构建师 面向企业:Google发布iOS版Google Admin应用 Github推出Education平台 师生免费享有微账号 平板的市场依然巨大:应用更丰富,Phablet设备存局限 免费的PCB数据3D转换工具 OBD++ XVL Converter Hadoop Namenode以regular方式启动代码流程分析 走进支撑过8亿用户的Yahoo!数据中心 Napier,一个引领Rackspace14年老兵功成身退 Twitter最新测试版被指仿Facebook的界面设计 成功求职者的自述:如何向应聘企业展示自身价值? TOMCAT+SQLSERVER连接池配置问题~~高分请教~ 请教!!!如何在IntraWeb控制IE? 如何远程对局域网内的某一台计算机(假设其计算机名为comm1)实施关机操作? 为什么连不上CVS服务器? 如何用ASP读取XML中节点的属性值? 如何使用jspsmartupload 一个简单问题请进来look一下 我所知道的论坛常用语,自己以为算得上的可以往上加啊! 如何自画窗体或者PANEL,让小图象在上面排列,然后再根据顺序,一次改变小图象呢? asp.net 上传图片问题? xml中怎么取得这个值呀? 请大家给介绍一本学VC++.NET的书!谢谢 有谁用过solpartwebcontrols.dll控件来建立菜单的,请进! pcanywhere联机方式 高手请进,关于MFC的消息映射。 问一个可能是低级的问题:嵌在网页中的Windows Control能不能打印 请教:我用一个COMBOBOX作为存放表字段名,如何SELECT搜索满足条件 “三个代表”具体是指什么,希望各位JJGGMM帮忙解释一下了,谢谢!(90度鞠躬!!!!~~) 如何将装入到graphi字段的图片压缩?? 看过windows程序设计的朋友请进来 asp调用存储过程问题请教!!!!急!!!! IIS不能使用了该怎么解决? 请教C#问题(1)?? Oracle Intermedia Text支不支持中文的模糊查询 我是ORACLE菜鸟,现有一SQL语句(SQL Server语法),想转换成ORACLE语法,请指点 数据库连接问题??????????? 大虾,请看这里看看? vb中字符串中怎么输入双引号(")或单引号(')? 大家帮忙看看为什么这段代码不工作? ████ 这个帖子骂人,请斑竹秉公处理!!!!!!!████ 怎么样让时间加一个差值; 在另一个类中,怎样给Radio或Combobox赋值 ~~~~向各位高人请教三层线程模型,分可以另开贴加。 new出来的idicmpclient的onreply事件怎么响应? 那位大虾帮我看一下这断代码(JSP高分请教) 帮帮忙啦,哪位同志用过mscomm控件做点对点拨号通讯的 AspRunner是个不错的辅助编写ASP页面的工具,请问哪里有破解下载的啊?谢谢了! 在vc#中如何删除目录下的所有文件? 急 关于分级菜单 求救,如何在注册表中得到一个硬件设备(如猫)的驱动文件名称? 一个难题,希望高手能解决,急切等待! 关于网络状况测试的问题 新手上路,问一个很初级的问题,呵呵。。。 请问如何实现在同一个窗口中的自动跳转? 为什么不能调用类? 关于SQL语句求助 如何在asp和asp.net里面共享信息 溢出错误,麻烦来看看! 知道汉字的国标(gb?)码值,如何显示汉子,急求救!!!! 一道根式题!根号用!表示1997/(!1997-!1999)(!1997-!2001)+!1999/(!1999-!2001)(!1999-!1997)+!2001/(!2001-!1997)(!2001-!1999)=? 英语翻译很抱歉,你们要的那款产品,我们暂时还没找打,不知道这款是否适合你们? 一道简单的根式题1——— + √3(√3-√6)+√8 - √2-1 《雨后池上》写出了雨后的池塘怎么样的特点? 请区分一下三个英语句子的成分,①not far enough that anyone walking by could tell②I thought about how fun it would be to wet myself clothes③the construction workers there had their lights on 一个英语疑问,这三个句子有什么区别吗 一道根式题目X减去X分之一等于根号3X的五次方加上X的五次方分之一等于多少 一道根式问题!?RT、拜托了! 7题回告一下 1到4题知道多少就告所我,谢谢了 突尼斯举办中国电影节温州经济三季报让人眼前一亮 GDP同白宫拒回答是否曾监听默克尔 美德信任朝韩在非军事方面保持合作 朝鲜遣返6供应杭城70%生鲜猪肉 滨江区昨再查冷空气吹开雾霾带来降温 这两天早晨只朝鲜表态强化核力量 美韩揣测朝“核冒国考报名昨天截止 浙江最热门职位33日本媒体爆料杭州绿城主帅冈田武史将离临安破获特大涉毒涉枪案 缴获整枪43温州:成绩将非评价学校教育质量唯一标河北唐山一化工公司发生爆炸 12人仍维斯瓦河畔茶飘香,欢聚一堂话友情全国政协十二届二次会议举行第二次全体90位政协委员联名“紧急提案”防止伤蒙古媒体:中国的反腐败斗争将常抓不懈证监会副主席:拟取消境外上市审批 鼓非机动车临牌申领一周:车主扎堆 一街熊群力代表:中国电科今日推出全新一代今年我国将在热点城市加大力度推出共有全国政协十二届二次会议下午举行第二次两会花絮:巾帼不让须眉 两会女性顶起
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘