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

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文件保存在什么地方,在编译的过程中,编译程序都会自动的在系统中对组件进行注册
腾讯云俱乐部成都站——云时代手游开发:用数据说话 首届微App峰会将在MDCC2013上举行 微信易信百度新浪等平台开发商云集 TUP Masters第七期:C++大师Lippman论编程新范式Hugo OpenCL用于13个微型计算机领域的经典案例 从测试数据来看Node.js和Java EE的性能区别 工作效率低下?业内人士建议你切勿追求完美 Mozilla发布可视化在线跟踪工具Lightbeam 望向海外:十大移动应用开发外包公司 Facebook支撑万亿Post搜索背后的技术窥探 云OS:共创智能化生态圈 云计算,让游戏世界更加精彩 360推儿童卫士手环,你怎么看? 量产谈判正在进行时:谷歌手表或比Google Glass先上市 Mozilla发布新版Firefox 25 提供支持Web Audio API UC产品总裁何小鹏:轻应用,做什么?怎么做? 高德携手阿里云发布“LBS云”,账户打通只是第一步 最后2天!2013移动开发者大会5折抢票倒计时 大数据如何改变在线广告业? 摩托罗拉推开源硬件平台计划Project Ara 七个垂手可得的敏捷开发工具 微信新版公众平台调整细节381处 300/次认证费引争议 libgit2:纯C语言实现的Git开发包 MongoDB的得与失 开箱即用!Android四款系统架构工具 谁说Kinect只是玩物?微软研究院使用它实现口语手语实时翻译 新浪微博推出粉丝服务平台 引发两微PK大战 MDCC2013移动开发者大会最新日程发布 门票优惠最后1天 英特尔CEO:EUV光刻技术或助力芯片突破摩尔定律 从微软大数据日看到的,银行、交通、医疗实践之路 IDC:iPad市场份额遭Android平板蚕食 滑至29.6% [TUP第30期]直击移动应用开发难点 探讨跨平台最佳解决方案 DataModule的问题(菜鸟级) 怎么把表中的列约束为唯一的? 一个编程论坛 从没见过的问题!!!晕了!! 安装问题,请指教! C++的应用是什么意思呢? 得到上传文件大小的问题,解决高分相送!! R6中的问题!高手请进!高分求救! 一个电子书籍下载和编程论坛 请问怎么在vb中调用纯c接口的api并实现多线程 如何在一个很大的文件中删除一段数据?不用拷贝的方法 the C++ programing language里的两个小问题!!! 找在没行带checkbutton的listbox控件类 我可怜的QQ被盗了~~有什么密码破译软件取回QQ的密码吗 VARIANT结构中,如何通过pvarVal指针来获得串口传来的二进制流?? 天啊,这就是《程序员》? 编译java程序需要哪些工具,菜鸟提问. how to use *.pak?? ★在数据窗口中如何同时实现多行操作,如update或delete多行。 请问oracle8i的下载问题! 请问MSDN.net 中文版光盘出了吗??????????????????????? 关于STRING的问题 在IE中程序运行有错误?请指点! JB8做个BMP,奇怪问题 有谁知道*.dns用什么软件打开吗,急!!! 大家给我推荐一个delphi源码网站 Oracle8.17的安装问题,请大家帮忙,急呀!谢谢! csv文件存储求助 问个关于checkboxlist控件的用法! 客户端通过Session Bean 调用 Local EntityBean的问题. 启动j2ee的问题--j2ee -verbose 那里能够下载破解的install shield 5.0 or 5.5 or 6.0? 我想搞网络游戏开发,请教各位的意见 如何在接受表单的ASP文件中,去知晓是这个表单中的哪个'确认按钮'被按下了?? 我的数据库打不开了!!! 连接MySQL数据库服务器? 有谁可以推荐几个国外的比较热的asp论坛,多谢! 我是一个菜鸟,想学asp,希望前辈给指条路 有人知道工程硕士是怎么回事吗?和普通的有什么不同啊,可以考普通的博士吗?谢谢阿 access数据库为何备份出错? 有了主键,还需要建立索引吗?解决送分。 在Oracle的逻辑数据库结构中有个概念叫"范围"的是什么意思呀? 能将javascript改写成其它语言吗? 为什么动态创建的控件不能保存? HelpProvider控件的问题 如何把几个dbf表中的数据导到一个表中? 软件汉化有几种方法呢? 各位大虾,求助,在线急等! 看看我能放多少分.... 急啊,我刚买的电脑就出问题了~~~~ 大虾有没有《人月神话》的电子版啊? 印尼谴责澳大利亚监听 威胁停止两国打日本右翼政客“岛国意识”支配下的不安联合国副秘书长称叙利亚难民数已达93美国寿星跳伞庆百岁生日 从3900米日防相称美国监视日本系伤害盟友信任行媒体称美国将中国日本列为“重点监听国美建议叙问题会议11月举行 仍在做反外交学院举办第十二届全国大学生外交外美政府因关门欠薪成被告埃及前总统穆尔西受审近三成美国人视中国为头号经济强国随笔:阿富汗的冬天“光秃秃”天下飞机,唯快不破:美国将推极音速间美媒曝“棱镜门”内部文件 中日为重点美国新泽西一商场发生枪击事件 暂无人阿富汗的冬天“光秃秃”美媒曝“棱镜门”内部文件 中日为重点摩洛哥一架客机在蒙特利尔机场起火 5宁波一北宋年间古塔出现盗洞 警方已介公益机构联名呼吁删改《沐浴业管理办法浙江第十二届戏剧节启幕 超九成为百元英媒点评中超的6位英超旧将,特维斯最秘书忆:“九大”前后毛泽东与江青关系别让智能手机绑架了我们的生活英足总如此安排赛程意在做掉曼联?法兰西双雄为法甲正名!谁说法甲不是五姚明担任篮协主席是一种破旧立新沈阳市部分地区下周将停电 最长10小媒体:朝中社不点名批评中国,北京莫睬除了宁泽涛,还有哪些运动员曾被国家队石林锦苑花卉产业园花卉月销逾千万枝陈豪:压实主体责任狠抓工作落实 把全伦敦迎降雨大风天气 市民出行风中凌乱“肥胖星期四”波兰人任性嗨吃甜甜圈白俄男子赤裸上身跑步 庆祖国保卫者日有爱!美国1岁男婴迷上抱小猫爱不释手木星南极高清画面曝光 “朱诺”号长留韩国民众集会反对乐天集团出让“萨德”英两男子235米高楼顶赏夜景 张开双济南城西考场进场考驾照得先“刷脸” 济南章丘:无业游民冒充政府人员骗走痴济南长清贫困大学生身患尿毒症 手术费
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘