请教chinaok(授人以鱼不如授人以渔):

fenlin 2002-05-12 05:31:05
如何把重要的源代码封装成DLL?封装成DLL后如何改动源代码?
封装成DLL后在ASP页面上怎样调用?
我用记事本来写ASP文件的,谢谢!
我的EMAIL:sky391@21cn.com
...全文
82 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenlin 2002-07-10
  • 打赏
  • 举报
回复
学ASP.NET是不是如楼上的兄台说的那样最好用C# ? 可以详细说说吗?
好让我不走弯路,十分感谢!!
fenlin 2002-07-10
  • 打赏
  • 举报
回复
学ASP.NET是不是如楼上的兄台说的那样最好用C# ? 可以详细说说吗?
好让我有走弯路,十分感谢!!
sunbeamy 2002-05-13
  • 打赏
  • 举报
回复
又是ICP大法,佩服佩服...
-----------------------------------
to fenlin (绿枫铃):要学asp.net就用c#,不要使用其他语言....
xxjmz_78 2002-05-12
  • 打赏
  • 举报
回复
靠,这篇文章我也找到了,你可以把地址给出来吗,占这么大的地方,切
变态
http://www.wrclub.net/article/seearticle.asp?id=799
popcode 2002-05-12
  • 打赏
  • 举报
回复
这篇文章主要是把ASP代码变成组件,开发者不仅是加快了ASP的速度,而且也能保护自己的代码.
下面,我们会来编写一个非常简单的组件,重点是知道怎样开发DLL组件,而不是其复杂的代码!这些都要靠你们自己以后的努力了.

服务器端组件

首先,服务器端的组件要有别于客户端的组件.客户端的组件是通过网络传输,依靠HTML来起作用.而且只能在IE上有用.但是服务器端的组件是运行在服务器端,它在服务器上执行各种操作.因此,所有的浏览器都能享用,它依靠的是服务器而不是浏览器.

当IIS被请求执行一个ASP程序,它首先会在ASP文件中找到 〈% %>标签之间的代码,并且执行它(也可以是〈script runat=server>〈/script>之间的代码).如果这个ASP程序在先前被调用过,那么它就会用内存中的编译过的程序来向用户返回HTML代码,如果没有,那么它就重新编译.这里ASP就比CGI多一点速度优势,因为CGI是每一个请求都使用一个线程.这样就大大消耗了服务器的资源.

想不想你写的程序自己就能在IIS运行!?!现在你就行了!使用VB5(当然现在是VB6了),你就能建立Dynamic Linked Libraries (DLL 文件),它能在IIS上直接运行(如果有asp文件来请求的话).

系统和软件的要求

你需要一个32位的操作系统来运行ASP.当然你也得安装IIS或PWS.我们下面的程序是在windows95+PWS+VB5的环境下开发的.

我们开始吧

启动你的VB,选择ActiveX图标.这个图标可以在新建工程找到!VB会提供一个默认的工程名(project1)和类名(class1).我们会将这两个名字都改掉.在改名之前,请首先确认我们拥有Microsoft Active Server Pages Object Library,它在我们的程序非常有用.从菜单中选择"工程",然后在其中选择"引用",就会出现"引用"窗口
从中选择Microsoft Active Server Pages Object Library.

给工程和类命名

现在我们来根据自己的爱好来为project1和class1来命名吧!给它们命名也是很重要的,我们以后会用这个工程名和类名来创建这个组件的实例!后面详细介绍.

如何改名,我就不想多说了!
我们的工程名改为Exmaple,类名为Helloword

怎样使用工程和类

现在我们有了我们自己的工程(Example1)和类名(HelloWorld).以后我们就会在ASP代码中使用它们的名字来引用这个组件.在ASP中我们就这样引用,如下:

Set ObjReference = Server.CreateObject("ProjectName.ClassName")

对于我们工程的引用就是:
Set ObjReference = Server.CreateObject("Example1.HelloWorld")
现在我们就能用ObjReference来调用我们在组件中所创建的函数,子程序.下面我们会来写一个SayHello的子程序, 我们执行它的代码如下:


〈%
Set ObjReference = Server.CreateObject("Example1.HelloWorld")
ObjReference.SayHello
%>


为了在Helloword类中使用ASP的方法,你必须在此类中写一个OnStartPage
子函数.如下:


Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
End Sub



现在,无论什么时候用户访问一个带有本组件的ASP文件,IIS就会把ScriptingContext传送给我们的对象请我们使用.这个ScriptingContext包括了全部的ASP方法和属性.实现上,这使得我们有能力访问所有ASP的对象.看下面的代码:


Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
Set MyApplication = MyScriptingContext.Application
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
Set MyServer = MyScriptingContext.Server
Set MySession = MyScriptingContext.Session
End Sub


以后我们就能用在VB中用MyApplication 来代替ASP中的Application,同理可以代替Request,Server.....,不过我们来是要在 OnStartPage之前来申明这些变量:


Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session



使用ASP的对象
我们的变量现在就能像标准的ASP对象来使用了!比如,我们经常在ASP中用Request.form()来收集提交表单的数据.现在我们在我们的VB中实现这个功能,代码如下:

用ASP中实现:
〈%
MyTempVariable = Request.Form("userName")
Response.Write ("you entered "& MyTempVariable & "as your user name")
%>


在VB中实现:


MyTempVariable = MyRequest.Form("userName")
MyResponse.Write ("you entered "& MyTempVariable & "as your user name")



通过使用MyResponse来代替Response,我们能够使用所有Response的方法,当然,MyResponse这个名字可以随便来取,你甚至可以就取Response.
另一件我们得注意的是,我们得在我们的建立的类中,写上OnEndPage子函数,这个OnStartPage是相反的!OnStartPage是创建对象,OnEndPage是消毁对象.



Public Sub OnEndPage()
Set MyScriptingContext = Nothing
Set MyApplication = Nothing
Set MyRequest = Nothing
Set MyResponse = Nothing
Set MyServer = Nothing
Set MySession = Nothing
End Sub



SayHello方法
我们来建立一个子函数,用于显示"Holle World".这个SayHello方法只是HelloWorld这个类中一个子函数,我们以后会在ASP中用以下的显示这个方法


〈%
Set ObjReference = Server.CreateObject("Example1.HelloWorld")
ObjReference.SayHello
%>



SayHello的程序,很简单的!

Public Sub SayHello()
MyResponse.Write ("Hello World")
End Sub



现在一个小型的组件编写完成,剩下的工作就是编译这个组件,在"工程"菜单中保存它,取什么名字都可以,我们用Exmaple1.vbp吧! 然后就用在菜单中选择"make exmaple1.dll",将其编译成DLL文件.一个组件就真正完成了!


注意,编译了此组件那么你就得先把你的PWS关掉,然后再编译此组件.否则VB就会告诉你些组件在使用中.

在ASP中使用我们的自己的组件.

当你更正了在编译中的错误,成功地编译了example1这个工程,现在你就得拿出你最喜欢的HTML编辑器来写下下面的语句,保存为ASP文件.


〈HTML>
〈HEAD>
〈TITLE>Example 1〈/TITLE>
〈/HEAD>

〈BODY>

〈%
Set ObjReference = Server.CreateObject("Example1.HelloWorld")
ObjReference.SayHello
%>

〈/BODY>
〈/HTML>

运行后即可看到结果:

Hello World

注册组件

如果你想和你的朋友,邻居分享你的组件,那么你就得在你的系统上注册你的组件.我们一般使用Regsvr32.exe来注册组件.注册后你的组件会出现在Win95/Win98的windows/system目录中.下面是一个注册的例子:

Regsvr32.exe C:/wwwroot/Example1/Example1.dll


在你的系统中,VB会自动给你注册,所以你很少用到Regsvr32.exe

我们这里只是写了一个非常小的组件,你们可以写好自己的更大的组件,而且还可以用VB中的很多控件.

让我们用组件来扩展我们的程序的功能吧!也希望多多的看到我们中国人的组件.
fenlin 2002-05-12
  • 打赏
  • 举报
回复
楼上的仁兄:
ASP.NET不是也用VB.NET(JAVA,C#)来开发的吗?如果是的话,那就是说学会了VB.NET就学会了ASP.NET啦!
cmsoft 2002-05-12
  • 打赏
  • 举报
回复
如果想用API来开发更好的B/S结果的东东,学ASP.NET也不错啊
fenlin 2002-05-12
  • 打赏
  • 举报
回复
这样啊?!那看来还是不能把VB丢了,得花点心思去学学!
大家认为是否有必要学VB.NET呢?
秋风ss落叶 2002-05-12
  • 打赏
  • 举报
回复
例如:

一个dll工程名为sample

一个类模块名为cls

Private aco

Public Function GetOneBynewsid(vNewsId)

End Function


Private Sub Class_Initialize()

mDebugMode = 0
End Sub


Private Sub Class_Terminate()

End Sub

Public Property Get NewsId()
NewsId = mrs("NewsId")
End Property

Public Property Let NewsId(vNewsId)
If IsNull(vNewsId) Then
mrs("NewsId") = Null
Else
mrs("NewsId") = CLng(vNewsId)
End If
End Property

编译、注册
在asp中:
set obj=server.createobject("sample.cls")
sunbeamy 2002-05-12
  • 打赏
  • 举报
回复
这个问题有点大,不是一下子讲的清楚。至少你要会一种能写com的程序,vb?vc?...
ChinaOk 2002-05-12
  • 打赏
  • 举报
回复
又一个软件ASp2Dll可以把Asp转换成Dll

写成后的dll显要注册。
regsvr32 dllname.dll
然后就可以在asp里调用了。

set obj=server.createobject("ojectname.ojectclass")

我对这个也不太熟悉。希望熟悉的朋友能给你更好的回答!
谢谢。
章节详细,涵盖大学文献检索课件资料 第一章 信息检索的基本知识 第一节 信息、知识、文献、情报 信息: 应用文字、数据和信号形式通过一定的传递和处理,来表现各种相互联系的客观事物在运动变化中所具有特征性的内容的总称。 知识: 人们通过实践对客观事物极其运动过成和规律的认识。是人脑对客观事物传来的信息进行加工的过程。 文献: 是记录有知识的一切载体。也是将人类的知识用文字、符号、图形、声频、视频、信号等记录方式在甲骨、竹棉 纸张、感光材料、磁性材料等载体上记录下来而形成的。 情报:当文献中记录的知识一旦传递 到用户并为其所利用时,文献中被利用到的这部分知识就转化为情报。 关系:信息(知识(情报,文献)) 第二节 信息检索的目的和作用 1.通过科技文献检索能够打开人类知识宝库的钥匙。 2.通过科技文献检索能使科技工作者及时把握科技发展的动态和趋势。 3.通过科技文献检索能有助于开拓知识面,改善知识结构。 4.通过科技文献检索可避免科研重复,加快科研工作的进程. 5.通过科技文献检索能加强科技交流,促进技术合作。 第三节 科技文献的特点及类型 1.什么是科技文献? 含有知识内容的信息载体。 2.构成文献的三要素:知识内容、物质载体、记录手段。 3.文献的基本功能:存储知识信息、传播知识信息。 4. 科技文献的特点: 形式多、文种多。数量多、增长快。交叉重复。失效快、寿命短。 5.科技文献的类型: 1:按文献的载体形式划分:印刷型、缩微型、声像型、电子型。 2:按文献的出版形式划分:科技图书、 科技期刊、 科技报告、会议文献、 专利文献、 学位论文、标准文献、 政府出版物、 产品样本、技术档案。 3:按文献被加工处理的深度划分:零次文献、一次文献、二次文献、三次文献。 第四节 信息检索及类型 信息检索:是指将文献信息按一定的方式组织、存储起来,并针对用户的需要查找出所需信息的过程。 信息检索的类型: 1.文献检索 2.数据检索 3.事项检索 一、什么是检索工具?用以存储、报道和查找文献信息的工具。 二、检索工具的特征:1.有丰富的文献记录。2.每条记录都必须具有各种检索标识。 3.全部描述记录科学地组织成一个有机的整体。4.能够提供多种检索途径。 三、信息检索工具的职能: 1.报道职能。 2.存储职能。3.检索职能。 四、检索工具的类型: 1.按检索方法划分:手工、机械 2.按收录的文献范围划分:综合性、 专业性、 单一性 3.按出版形式划分: 期刊式检索工具,单卷式检索工具,附录式检索工具,卡片式检索工具, 缩微制品、磁带、磁盘。 4.按收录文献对象和揭示文献方式划分:目录、题录、文摘(指示性、报道性)、 索引 五、检索工具的结构: 目次表、使用说明、正文部分、索引、附录部分。 第二节 信息检索语言 信息检索语言是用来描述文献特征和表达信息提问,沟通信息存储人员和信息检索者双方思想的一种人工语言。 信息检索语言的分类:按描述文献特征划分; • 描述文献外部特征的检索语言:书名、刊名、篇名等著者名。号码(如报告号、专利号、序号等)文献类型,文献出版事项 • 描述文献内容特征的检索语言: 分类语言 主题语言(关键词语言、标题词语言、叙词语言) 第三节 信息检索原理及步骤 一、信息检索原理: 文献信息检索实际上包括文献的存储和文献的检索两个相互依存的过程。 二、信息检索的步骤: 1.分析研究课题: 2.选择检索工具: 3.确定检索途径:分类途径、主题途径、题名途径、著作途径、号码途径、其他途径。 4. 选择检索方法:常用法(顺查法、倒查法、抽查法)追溯法 综合法(或循环法) 5.查找文献线索:6.索取原始文献。 第三章 专利文献及其检索 第一节 专利的基本知识  什么是专利? 所谓专利是指一项技术性的创造发明在一定的年限和国家范围内受法律保护的技术专有权利。  专利的类型(发明专利、实用新型专利、外观设计专利)  取得专利的条件(新颖性、实用性、创造性)  专利的审批程序 我国专利的审批程序:(发明专利的审批程序)专利申请, 初步审查(形式审查),公布专利申请(早期公开),实质审查,审定并公告 , 公众异议 , 授予专利权,专利权无效请求 ,专利权终止 (实用新型专利和外观设计专利的审批程序)专利申请,初步审查(形式审查),审定并公告,公众异议,授予专利权 第二节 专利文献  专利文献的特点:1,新颖及时 2,技术可靠、详尽 3,内容广泛 4,格式统一 5,从复出版量大  中国专利文献的符号系统: 89年前 89年

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧