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

用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服务器组件,如数据库、服务器上各种信息与资源访问等,都会十分方便。

实现图象局部放大的原理和方法-Delphi资料 使用Delphi实现滚动式面板窗口 通用的MsgBox-Delphi资料 图象放大镜——实现图象局部放大的原理和方法-Delphi资料 图形的特殊显示效果-Delphi资料 图形整体拉出效果-Delphi资料 一个实用的Delphi屏幕拷贝程序的设计 用Delphi 显示122种图形特效 用Delphi编写DLL实现动态改变分辨率 用Delphi进行OpenGL编程学习心得 用Delphi开发windows95屏幕保护预览程序 用Delphi实现壁纸更换 用DELPHI实现位图显示特技 用DELPHI中Canvas特性开发图形软件 用构件变换法实现动画效果-Delphi资料 在Delphi中使用动态图标 在Delphi中显示Windows图标 在多媒体文件中批量抓取图象-Delphi资料 怎样读出不同格式图形的高和宽-Delphi资料 怎样使用PageUp、PageDown滚动窗体-Delphi资料 怎样制作全透明的窗口-Delphi资料 DELPHI:FormContainer简易手册 Delphi:用FormContainer渐变效果 Delphi4的窗口融合技术 Delphi使用技巧ABC Delphi使用技巧四则 DELPHI中自适应表单的实现 TList的用法-Delphi资料 不规则窗口的实现-Delphi资料 不用标题栏也移动窗体-Delphi资料 窗口建立和关闭时的特效-Delphi资料 有点蒙呀……请大家帮我! jdbc中如何返回所执行的sql语句的结果 最近在找个网站管理系统,各位能否给个建议100分侯 标准库和标准模版库,和库函数什么关系啊 我是这样调用DLL的。 java里面有没有象MSDN一样的帮助系统啊??? 哪里可以下载库函数的中文资料啊 在一个框架页面上,如何进行打印? 大家好啊,来帮帮忙做这道题,小妹谢谢啦!:) delphi的报表问题 (急急急,线上等待) ora8i的安装问题,急! go命令为什么没效果 Query的设置? 回答过菜鸟级问题-我做的FLASH动画在有些机器上无法显示的请接分。再次感谢 给点意见!!! 求救,如何限制用户下载!!!内有详细说明.分不够可以在给!!! 請問怎樣用代碼得到一個dw控件的 dw 對象并messagebox出來? ★★★算法讨论:如何识别红眼和消除运动模糊★★★ 兄弟们,帮我啊!~ 紧急求助:请问如何在MFC程序中调用自己编写的C++类 请问谁有组卷的算法,急用,多谢! 急!!!关于FileSystemObject问题,在线等 求面积 鼠标在视图和用非模式对话框交互绘图 在.login中怎么设置汉字的位数? oracle9i的安装文件都有什么?望高之!急! 如何用window.open弹出一个屏幕居中的窗口? 大侠们,在线求word200文件密码破解,急!!!!!!!!!!! ccnet(苦海放歌) tdl982324(石井坚) ( ) wanghr100(灰豆宝宝.net) possible_Y(◎)(◎)←(这是眼镜,不要想歪了)请接分 ccnet(苦海放歌)yaoxuefeng(锋雨者)brainf(后街)请接分 配置节的type的第二个参数的含义 报表问题。 最近在找个网站管理系统,各位能否给个建议 windows2000的奇怪问题 关于如何自定义组件问题 有关windows 98自动重起问题。 ListBox问题 VFP8.0中的数组问题,高手和用过的人来看看! 数据库的移植问题? 重新开机时常常变成"大图标",怎样设置使WIN2K所有磁盘(c,d,e盘)上的所有文件夹和文件以"列表"显示,就是让"查看"->"列表"固定? oracle9i的安装文件都有什么?望高之!急! 哪位有没有SCJP培训的录音或其他教学的好东西阿 MSComm控件在设计时运行没问题,但打包后装到别的机子老是出现“没有注册类”,求救? delphi 做的数据库应用程序如何移植?? copysign怎么用啊? 如何将一个网页的所有链接均自动加为绝对链接? 技术与数学的问题 本人写了一个设置纸张方向和大小的函数,其中MyDevMode.dmPaperSize = psize '若vbPRPSA3 设置纸大小为A3,但在VB对象库中找不A2张对应值 tomcat4.1.24中的sevlet问题 我下载了linux的iso文件,可怎么安装啊!! 我想问一下,有关于计数器的相关的信息? AMR是什么?它是一种编码方式吗? 两小儿辩日孔子判断不出谁对谁错两个小孩的态度是 to the Moon and Back汉语意思是什么 为什么对pcm buf进行amr编码出现掉帧? 西班牙语 1.vive en una casa和vivo en una casa中,vive和vivo分别是什么数格的变位?2.vivo en moscu是我住在莫斯科的意思吗?3.El es de Francia表示他“某某是哪国人”的时候谓语动词后都要加de吗?可以具体说 on the swim team汉语 CUIDATE MUCHO ESPERO HABLAR PRONTO CONTIGO西班牙语翻译成中文什么意思 求:人教版数学八年级(上)全等三角形每个课时后面的练习题(原题)同题,不需要答案,但必须是原题····那个····说一句:请直接给网址或现题 网址要不用注册的~拜托各位了····· 鹿是不是保护动物?鹿可以不可以吃? 红楼梦中看不懂的语句……你证我证,心证意证……你证我证,心证意证,是无有证,斯可云证,无可云证,是立足境.无我原非你,从他不解伊,肆行无碍凭来去,茫茫着甚悲愁喜,纷纷说甚亲疏密,从前 最好详细点,感激不尽. 谁原为东京八十万禁军教头,被高俅设计误入白虎堂,发配沧州,后雪夜上梁山?我不知道!求求你们告诉我!谢谢了! 这句话(红楼梦中的)有什么含义?好一似食鸟投林,落了片白茫茫大地真干净! 感激不尽(第四题) 卵原细胞和精原细胞是体细胞吗有一道题问:人体内体细胞DNA的复制时期.我想体细胞应该也包括精原和卵原细胞吧,这二者都可以减数分裂,而体细胞大都是有丝分裂,所以我写的是分裂间期, hard什么意思 the jovian moons are more like planets than moon.5093 为什么精原细胞,卵母细胞是体细胞?受精卵大还是卵细胞大? Hard的意思 The moon is more useful than the sun 课文越快越好谢谢各位了我需要的是全篇课文 《水浒传》中的林冲曾是东京八十万禁军教头,一直安分守纪的他却在高俅等人步步追杀下,雪夜上梁山.它既有骁勇善战的一面,又有隐忍退让的一面.请概述能反映林冲隐忍退让性格的情节 用“近来我也注意到···可是总···原因似乎是···不够···又···尚···”造句 这是什么动物 长得像鹿 在中国古代和长脖鹿长得很像的动物是什么 hard的中文意思 用水桶从井里提水时,把水提上来所做的功是(),把桶提上来所做的功是().若用一只水桶通过滑轮组到井下取水,第一次提取半桶水,第二次提取满桶水(摩擦不计).两次相比较:W1额外( 麂鹿是什么动物 用 假如.不足.不敢.不能.将不能.造句 面积S=0.2m^2,n=100匝的圆形线圈,处在如图所示的磁场内,磁感应强度随时间t变化的规律是B=0.2t,R=8.0欧,C=μF,线圈电阻忽略不计.下列说法正确的是A.感应电动势大小为0.04VB.通过电阻R的电流大小为0. (2)话说原为京城八十万禁军教头的林冲,因被权奸高俅所害,刺配沧州,行至野猪林时,又被董超、薛霸绑缚 数据元素的最小单位是什么? 用“.了,就像.了”似的造句 推荐的名句及理由 光线垂直射到镜面上,反射角是________,反射光线的方向是_________. 数据的最小单位 《享受生命》 梁衡 帮我做下题目1 作者认为,全面享受生命实际上是( ),要达到这一目的,就要具备( )和( )两个条件.2 在第5自然段中,作者为什么说“享受生命”这句话又是多么沉重?3 人在逆境中成长好还是在顺境中成长好我们下周一有一个辩论,人的一生在顺境中成长好还是在逆境中成长好?我的观点是:逆境好.现在请求帮助,能够在尽量少举例子的情况下,战胜对方.首先, 董仲舒的主要观点是什么? 孔子在文中提出的评价一个人的正确方法是?宰予昼寝.子曰:“朽木不可雕也,粪土之墙不可圬①也!于 予与②何诛③?”子曰:“始吾于人也,听其言而信其行;今吾于人 也,听其言而观其行.于 望远镜和显微镜的原理是什么?最好有图. 《田单列传》原文及翻译 介绍点人和动物之间的小说把你知道的书名说出来.人与自然,动物世界就算了.是那种第一视角 与各种动物亲密接触的. 根据公式P=UI可知,电流越大,电功率越大;但根据公式P=I2R可知,电阻越大,电功率越大,也就是说电流越小;这一个电流越大电功率越大,一个电流越小电功率越大,岂不是相矛盾;我想了半年了, 谁帮我用来日方长造一个句子 孔子在《论语》中提出,评价一个人的正确方法是什么拜托了各位 11 、 下列不属于核反应堆的慢化剂的选项是?A . 重水 B . 石墨 C . 盐酸 12 、 下列不属于最早一批在中国开始核弹研究的物理学家的是?A . 钱三强 B . 杨振宁 C . 邓稼先 13 、 向美国联 田单列传译文 孔子在文中提出,评价一个人正确的方法是什么 英语翻译.如果不是亲眼所见,我是不会相信的. 仿写句子;若非青春苦短,谁会想来日方长.句式一样“若非青春.谁会. ” - 最好多几个. :北京市海淀区西直门北大街甲号依都阁大厦7A室(明光桥西南角) 具体位置在哪里?如果是在朝阳区欧露经典或者安贞门地铁站应该坐甚磨车?怎磨走?坐地铁的话怎磨坐呢? 造句 带有反问和比喻的句式 请用(来日方长)造两个句子吧. 北京市西直门北大街45号时代之光名苑2号楼1504 请帮我用英文翻译一下, 求依客莱的英语翻译 因为什么所以什么怎么造句 verano是西班牙语吗?是什么意思? moon cake国语是什么意思 用"给你以...给你以...给你以...给你以...给你以...没有理由"造句 关于西班牙语的问题!句子,Vivo en Tocumen.en可以换成de或para关于西班牙语的问题!句子,Vivo en Tocumen.en可以换成de或para吗? i have travelled on the moon中文意思是什么 中国学者回击菲提“九段线”符海洋法不北京中高考英语改革或推动学生提前留学收鹿小能手:5岁起开始协助养鹿【组图空气中飘辣味 美华人辣酱厂呛到居民惹土耳其已否决“采购中国红旗导弹”的早卢浮宫馆长再谈“假门票”:中国游客首日本将向新加坡提供PM2.5对策华人要求ABC就歧视言论道歉国际新闻早报:多名俄罗斯高官因瞒报收国外网友贴图揭秘“土豪”子弟的一天【新加坡:日与夜的魅惑中国人流行取“洋名” 老外却热衷取中港媒:日本领导人不要遮住中日关系最后潘基文发言人:美已保证今后不对联合国美国安局局长:监听报道“完全错误” 世界最大机场将举办国际航展 25家中中国全票当选联合国经社理事会成员 任义乌城区一黄金地块6.1亿成交 业内杭州地铁6号线过钱塘江段开始水上勘探杭州到富阳的514路下月换新车 一人杭州一23岁女子酒后绿化带小解 不慎新一代MINI CLUBMAN公布售原创注重内涵新能源汽车分时租赁或成车改新出路T动力K5笑傲同级广纸地价接近周边二手房价珠海建行召开安全生产大检查工作部署会UIC举办釜涌青年创业论坛N Sonic想体验中式中秋节《历代羊城八景》系列长卷澳门展珠海公安出台多项便民举措天平架站有自行车停放处了国际漫画节下周二开幕第二届客家情才艺大赛收官都是吃货!辛吉斯米尔扎到广州先享受海素艳随情 欧武小品作品展深圳体彩公益活动不停欢乐入社区共享团梦回五千年 探寻消逝的良渚古国第二届客家情才艺大赛收官郑州一美术学校绿皮车宿舍走红脱发增多未必因换季欠薪数十万斗门两老板被刑拘
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘