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

用Delphi编写ASP的ActiveX

HTML文档下载 WORD文档下载 PDF文档下载
用Delphi编写ASP的ActiveX

ASP中的ActiveX服务器组件为标准的Automation ActiveX组件,只要使用由ASP提供的接口和遵守ASP有关规则便可。Delphi 4.0作为一种高效、快速、强大的开发语言,为开发COM组件提供了很强的功能,但不知道什么原因,很少有人运用Delphi编写ASP中的ActiveX服务器组件。本文意在通过举例介绍如何运用Delphi编写ASP中的ActiveX 组件。

通过以下步骤创建ASP中的ActiveX 服务器组件:

1.创建一个ActiveX library工程

打开Delphi编辑器,选择选单中的File/New,在New Item中选择 the ActiveX 项中的ActiveX Library选项,Delphi将自动生成以下代码:

library Project1;

uses

ComServ;

exports

DllGetClassObject

DllCanUnloadNow

DllRegisterServer

DllUnregisterServer;

{$R *.RES}

begin

end.

这是Delphi编译COM组件时必须的函数,DllGetClassObject函数负责将输入调用从COM库转换到相应的类工厂中;DllCanUnloadNow函数是通知OLE引擎如果没有程序引用将自动释放内存;DllRegisterServer与DllUnregisterServer函数用来登记COM服务器。总之Delphi已经为你做好了一切辅助工作,你只需用心编写主要功能模块便可。

2.在该工程中新增一个automation对象

选择Delphi编辑器选单中的File/New,在New Item中选择ActiveX 项中的Automation Object选项,系统将显示the Automation Object导向,在物件名称中输入TestObject和选择Multiple Instance选项

按OK键后系统将弹出类型编辑器,其实这时系统已经生成了两个单元(Project1—TLB.pas与unit1.pas),unit1.pas中有如下代码:

initialization

TAutoObjectFactory.Create(ComServer

TTestObject

Class—TestObject

ciMultiInstance);

end.

这是告诉类工厂物件执行的方式与位置。

3.增加组件中的属性与方法

在类型编辑器中单击工具栏中的方法按钮增加以下方法:

OnStartPage(unk:IUnknown)

OnEndPage.

Test.

注意在增加方法OnStartPage时,在Parameters项中增加参数unk,类型为Iunknown,增加三项方法后,在类型编辑器中按Refrash键,Unit1.pas中将会出现三个函数,在每个函数下写如下程序:

procedure Ttestobject.OnStartPage(unk: IUnknown);

begin

m_scriptContext := unk as IScriptingContext;

end;

procedure Ttestobject.OnEndPage;

begin

m_scriptContext := nil;

end;

procedure Ttestobject.test;

begin

m—scriptContext.Response.Write(′ActiveX Test For Delphi′);

end;

当IIS激活一个ActiveX组件时它会自动寻找组件中是否有OnStartPage与OnEndPage方法,如果存在,服务器将在开启本ASP页时自动执行OnStartPage方法和当本ASP页所有脚本执行完毕后自动执行OnEndPage方法。

其中mscriptContext 与IScriptingContext是ASP中负责将ASP转换成HTML格式必不可少的变量与类型,因此必须将Unit1.pas文件中的Uses加上ASPTypeLibrary—TLB变成

unit unit1;

interface

uses ComObj

ActiveX

Delphi_TLB

ASPTypeLibrary—TLB

SysUtils;

ASPTypeLibrary—TLB.Pas文件可以通过类型库引入取得,打开Delphi编辑器中的选单Project/import type library 项,选择the Microsoft Active Server Pages Type library,按OK,Delphi便会自动生成一个ASPTypeLibrary_TLB.Pas。

4.编译与注册

选择Delphi编辑器中的选单Project/Compile 项编译文件,然后选择Run/Register ActiveX Server对Project1.dll文件注册。

5.在ASP文件中运用Project1.dll

在ASP文件中加入以下文字:

Set TestASP = Server.CreateObject(Project1.TestObject)

TestASP.Test

通过上面的例子,我们可以发现用Delphi编写ASP中的ActiveX服务器组件是十分容易的,加上Delphi丰富的组件与强大的功能,使我们相信运用Delphi编写特殊的ASP服务器组件,如数据库、服务器上各种信息与资源访问等,都会十分方便。

移动周报:生存还是毁灭 HTML5未来路在何方? 开发者的新机遇:微软生态系统打开开源大门 阻碍创新:谷歌、Facebook请求驳回抽象专利概念 Apple专利战分析:战火不停 创新不止 史上最牛独立开发者:花20美元狂赚100万美元 Twitter VS. Instagram:照片分享大战爆发 第二届“龙芯杯”中国开源软件设计大赛圆满落幕 TUP Masters第六期实录:Jeffrey Richter讲解Win8应用开发与.NET4.5 [简讯]Bootstrap 2.2.2发布 官博宣布新特性 我们正处于API的黄金时代吗? 敏捷开发的26条至理名言 12月10日:1815年首位程序员Augusta Ada出生 TOP30+应用排行榜:十一月国内外综合榜单 抱大腿:Square礼品卡服务进驻Passbook 科技创新剑指开源产业 “龙芯杯”破题自主研发 25GPU的Linux集群6小时内破解标准Windows密码 Lady Gaga与大数据的“火花” 手势才是王道:3款应用捕获3个设计灵感 YouTube的挑战者 JustinTV教你如何打造实时视频网站 黑客挟持160万用户密码 抗议联合国监管互联网 Twitter面对危机火速上线照片滤镜产品 Nike推创业孵化器:每个参与团队获2万美金 傲游发布云浏览器 支持跨终端数据同步 12个git实战建议和技巧 用友UAP产品线总设计师史周军访谈录 IE10新功能解析 支持Media Query(图) 单页Web应用或引领下一代Web新趋势? [CTO俱乐部第89期]新时代的前端开发 [多图]160台Mac mini打造的数据中心机架 是谁动了我的CPU! 欧朋CEO:GPU加速是手机浏览器的新趋势 结构成员这样定义 WCHAR bString[0]; 长度为0有意义吗? 关于DLL中的函数 如何动态分配指针数组? 哪里有关于delphi多线程资料下载? 急!!!SQL2000数据库IMAGE图象数据的存取?????? 这个存储过程怎么写? D7中的这个怎不见了啊-----急急 为什么只能传递两个汉字?有解决的办法吗? 关于DLL文件中的函数 lotus菜鸟请求急就!!!!!!!! 如何动态分配指针数组? 怎样实现点击按钮,将光标所在行的某列参数传到另一个form,显示出另一个表的某条相关记录? 这句话到底有什么含义??? T-SQL连接字符串的操作符号是? 问一个送分问题。 如何得到驱动器信息? (腊肉)欢迎讨论:简体、繁体同界面显示问题 請問在水晶報表里怎樣實現這樣的設計 谁有校友录? 欢迎讨论:简体、繁体同界面显示问题 用VB写了Lable控件,但不知如何把背景是否透明的属性加入 这堆警告是什么意思? 关闭API函数? 怎么按钮的字体的颜色改变不了? 关于图像识别,急急,谢谢 用Oracle8i(个人版)连接Oracle8问题(在线) 用quickreport如何做master/detail 報表 大家请看这段代码(部分):为什么returnValue第一次返回null,第二次返回正确??百分求解 发一个笑话--跟警察牛B的人 呵 请问如何用oledb连sybase11.9.2? 菜鸟问题 请高手指点 为什么服务器端用ontlitcp后informix无法启动呀?? 说能解释一下:阻塞和非阻塞,同步和异步的概念! 很急!拜托!! 欢迎讨论:简体、繁体同界面显示问题 图片上传的问题(100分) 如何直接向clob中插入数据并读出来(高分)? 硬盘使用求救 我是VB菜鸟 问一个很简单的问题 请大家看看 谢谢了 Validation控件 求救!!关于字体的问题 请问字符串函数Copy,CopyTo如何用啊? 在6.0环境下,对xml得支持怎么样? 专升本何种途径最快最省事? 恼人的问题! ***关于程序的独立运行? 求助!!!!!!!!!!!!!1 有做过时间同步的朋友吗? 我想知道局域网其他机器的信息,请各位大虾帮帮忙! JavaScript 高手帮我看看.一个关于上传文件类型检验的程序:这个程序问题出在哪? 请问:破解软件下载地址?? 硼酸可以用来配制标准缓冲溶液吗? 求危险化学品危险特性别表(100种)在豆丁网上搜到这个问题,但需要豆币,所以就是豆丁网搜到的问题. 在<只有一个地球>中"再生"的意思是什么? 足量氨气通入含AlO2-的溶液中 会不会大量共存 什么是危险化学品?主要危险特征有那些? 在做物理实验时候,有电烙铁不小心触电怎么办? 5%硫酸溶液如何配制 有人知道氢氧化亚铁在空气中为什么会出现墨绿色沉淀吗?急需啊!我的课题!谢谢帮帮忙!小弟感激不尽! 手摸电烙铁会感到烫而不触电为什么?电热丝将电能转换为热能,而不触电吗?如题 初2物理题 木块A的体积为500cm^3 质量为300g 用细线拉着浸没于盛水的圆柱形容器中 (线是拉着木块下面的 固定端在水底),容器的底面积为100cm^2,容器内水面高度为30cm,若剪断绳子后,木块静止 再生的意思是什么,不能再生的原因是什么,本来强调了什么,体现了说明文的什么 高密度脂蛋白1..高密度脂蛋白1.想 请问医生 木块A的体积为500cm^3 质量为300g 用细线拉着浸没于盛水的圆柱形容器中 (线是拉着木块下面的 固定端在水底),容器的底面积为100cm^2,容器内水面高度为30cm,求绳子的拉力T 《只有一个地球》第四自然段“不能再生”的原因是什么? 现在电烙铁是不是都是根据不同的需要更换不同的焊头?! 请问:随着科技的不断发展时至今日微生物选择性培养基有哪些?(说明:目前能买到的培养基) 棉花糖机光把糖甩出来是为什么? 求助一道关于生物必修2基因突变的题甲磺酸乙酯(EMS)能使鸟嘌呤(G)的N位置上带有乙基而成为7­乙基鸟嘌呤,这种鸟嘌呤不与胞嘧啶(C)配对而与胸腺嘧啶(T)配对,从而使DNA序列中G—C对转换成A 求高中化学详细知识点 棉花糖机温度高了或低了出现的状况分别是什么样? 第5章基因突变,引起生物可遗传的变异的原因有3种,即:重组重组、基因突变和染色体变异.以下几种生物性状的产生,来源于同一种变异类型的是( )①果蝇的白眼 ②豌豆的黄色皱粒、绿色 要那种专门介绍官能团的 比如说 “双键 ,然后介绍双键的物性和化性和相应的化学方程式,和双键有关的物质”要这样的知识点,要所有官能团,如果一个官能团有多种物质 比如醇和酚,在分别 乙苯和苯乙烯有什么区别? 无机自然界是指什么?(范围是什么?) 高中化学有机的知识点谁有? 联合国环境规划署点名禁用的12种持久性有机污染物质:艾氏剂、狄氏剂、异狄氏剂、滴滴涕、氯丹、六氯苯、灭蚁灵、毒杀芬、七氯 、多氯联苯 、二恶英 、呋喃苯并呋喃和呋喃是一回事 无机自然界 是不是所有的物体都能够辐射紫外线 Na与什么单质反应生成离子化合物 阴阳离子个数比为2:3 他妈的有机和无机/还有转基因究竟是什么概念 初中化学推断题需要的知识点归纳我Q.805463926 下面的HR是什么意思?二,不浮华,夸夸奇谈 曾听很多“HR“说,总是收到一些夸张的简历,把自己描述成什么都会的全能人士.而在面试时,特别是关于业务问题的面试时,总是答非所问.不懂装懂,不 A使用触电笔时,手要接触笔尾的金属体B家用电器中保险丝可用铜丝代替C家用电器着火时应迅速用水来灭火D家用电器金属外壳不要接地(这四个选项中到底哪个是对的啊, 何谓正相色谱和反相色谱?在应用上有什么特点 探究如何更清楚地观察到豆浆的丁达尔效应 Homesick is a compound work made up of HOME and SICK 翻译 人工的 高密度脂蛋白的作用是什么? 花式棉花糖机器怎样调节温度? Homesick is a compound work madeup ofHOME and SICK 高密度脂蛋白有什么作用? 花式棉花糖机器要怎样调节温度? 到底是homesick还是home-sick?RT 0.576立方米的水缸有多少公升水 促甲状腺激素受体抗体4.9正常吗 英语:Homesick is a type of being sick 这里的sick是用作adj了? 急求』在制备氢氧化亚铁时,为何要先加稀硫酸? 请问高密度脂蛋白起什么作用 促甲状腺激素受体抗体为8. 2-甲基环戊醇+KMnO4+H2SO4=? 0.312立方米水是多少升 促甲状腺激素受体抗体为什么是( 美国自然之宝葡萄籽提取物真的可以美白吗前天在 好生活购物网 要了一瓶 优惠的美国自然之宝葡萄籽提取物,说是可以美白,不知效果怎么样? 乙酰胆碱受体是一种通道蛋白 这句话错在哪里? 促甲状腺素受体抗体(TRAb)测定有什么意义? 玉米粒有紫色,蓝色,红色等多种颜色.为什么 150mM PH=7.4的PBS缓冲溶液如何配? 家中的食用油碱性环境下水解生成的醇只是丙三醇吗? 有一支温度计,其玻璃管的内径和刻度都很均匀,但标度却不准确.用此温度计测量冰水混合物时,示数为一2摄氏做这道题有什么巧妙办法吗 什么是危险化学品,危险化学品的特征是什么? lb培养基可以培养哪些微生物 阿富汗吸毒人数剧增 农村吸毒率达到3小布什远离公开辩论 私底下担心茶党崛韩国十字会组织集体俯卧撑活动 为朝鲜为防抗议者干扰 埃及当局更改穆尔西受韩国总统访问欧洲 称日本应向德国学习如何绕开Google SSL故意泄露11家品牌奶粉入驻北京药店 专家称价斯诺登请求美对其法外施仁 白宫拒绝并北京雾霾刚去 寒衣节不少市民当街焚烧中关村骗术攻防战:先付款即被坑 理论中央第二轮巡视重监督一把手 重拳打虎中国拥世界最多隐身导弹艇 美航母骇然韩媒称当事国就重启六方会谈达成诸多共韩媒:中国雾霾为“人类历史上最严重污中纪委监察部带头落实八项规定 会议费六大问题威胁食品安全 可追溯体系不完美国伯明翰机场收到威胁后紧急关闭 已美国伯明翰机场收到威胁后紧急关闭 已美国回应巴基斯坦指责 称与塔利班和谈罗姆尼指责奥巴马对医改法案描述“不诚2名法记者马里遭枪杀 媒体高层望采访福州交警夜查违法 男子自称残疾跑得比大同煤业2.21亿剥离旗下亏损资产 路人骑车摔倒福州两名90后帮扶 称只越南客商:南博会为中越经济文化交流搭吴磊五年前旧照超萌!歪戴棒球帽露大板十余非遗项目亮相北京文化大集 传承人美证监会调查阿里?例行程序未暗示违规宗庆后:食品安全的下一步是健康食品欧洲杯开踢6天法国警方抓获323人 ChinaJoyBTOB成最佳对外商全金属狂潮!智能机器人空降eSmar掘地矿工和女武神谁更强?对比数据分析张鹏、蔡建毅确认在2016CGDC上11件你不知道的关于防晒霜的事德国画家仅用沙子在粘性画布上撒出佳作百年老字号丁义兴成猪蹄第一股 去年才万达影视估值375亿太贵? 万达院线NBA季后赛赛场球鞋上脚精选5.26Bruno Mars 同款黑金阿甘现一日为红,终身为红 汉诺威96全新《大清国新闻联播》,这篇文章谁写的?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘