如何在Delphi中实现ASP编程

原创 2000年12月11日 09:31:00

(作者:孙航东 2000年12月07日 10:01)

  众所周知,ASP技术是我们在以internet/intranet为平台的web程序的主要技术,在asp应用程序中我们一般使用vbscripts和javascripts两种脚本语言。但是脚本语言是一种非编译的语言,其所开发的web程序存在先天的安全性、执行效率扩张性方面的问题,因此我们一般在开发web系统时用高级语言编写asp执行体,然后用脚本语言作为连接代码去调用asp执行体执行存取。在这方面由于asp技术是微软推出的,因此我们一般利用vb或vc,那么delphi程序员又如何实现呢?

  在这方面笔者最近通过inrpisre的资料,实现了在delphi环境中实现asp技术的web编程,现以一个介绍如下:

  1、在delphi环境中建立一个新的acdiveX DLL项目Project1,然后通过delphi的Active Server Object建立一个ASP对象,在他的coClassName中填入所建立对象的名字MyAspObject.

  2、通过type Library为刚建立的MyAspObject对象建立一个将要被脚本语言调用的方法MyAspRequest.

  3、由于刚才所建立的ASP对象是从TASPObject继承的,应此我们在方法建立中可以直接使用asp对象,现在为我们建立的Asp对象填写代码如下:

  produce TMyAspObject.MyAspRequest;

  begin

   repsonse.write('<p>您的姓名是:');

   repsonse.write(request.form.item['Name']);

   repsonse.write('</p>');//从所要建立的网页中读出用户名//

   repsonse.write('<p>您的工作是:');

   repsonse.write(request.form.item['work']);

   repsonse.write('</p>');//从所要建立的网页中读出用户工作//

   repsonse.write('<p>您用的开发工具:');

   if(request.form.item['delphi'].count>0)

   repsonse.write('delphi');

   if(request.form.item['bcb'].count>0)

   repsonse.write('c++ Builder');//判断用户所用的开发工具//

   repsonse.write('</p>');

   repsonse.write('<p>您的身份:');

   repsonse.write(request.form.item['Identity']);

   repsonse.write('</p>');//读出用户的身份//

   end;

  4、对程序进行编译并在delphi中进行注册为PMyAspObject.dll文件。

  5、编写用于连接的ASP脚本语言文件MyAsp.asp

  <%@language=jscript %>

  <HTML>

  <BODY>

  <title>这是一个用delphi建立的ASP对象</title>

  <center><h3>你填的内容如下</h3></center>

  <%

   var myasp;

   myasp=server.createobject(PMyAspObject.MyAspObject);

   //生成连接对象//

   myasp.MyAspRequest();//调用自己定义的ASP对象//

  %>

  </body>

  </HTML>

  6、建立用于显示的网页Myhtm.htm

  <form action='localHost/shd/myasp.asp' method='post">

  <h1 align='center">请选择</h1>

  <P>姓名:<input type='text' size=33 name="name"></p>

  <P>工作:<input type='text' size=33 name="work"></p>

  <P>开发工具:<input type='checkbox' name='delphi' value="on">delphi

  <input type='checkbox'name='bcb'value="on">c++ Builder</p>

  <p>您的身份:</p>

  <p><select name="identity" size="1">

   <option>学生</option>

   <option>技术人员</option>

   </select></p>

  <p><input type="submit" name="mysubmit" value="递交">

  </form>

  7、然后把Myhtm.htm和myasp.asp放在个人的web服务器中的shd目录下即可浏览测试。

  

网页效果图
001207b1-2.gif
ASP效果图
001207b1-1.gif
  

  以上程序的pwin98 ME和delphi5.0 Enterprise中实现。

Delphi 编写DLL动态链接库文件的知识和样例

一、DLL动态链接库文件的知识简介:                   Windows的发展要求允许同时运行的几个程序共享一组函数的单一拷贝。动态链接库就是在这种情况下出现的。动态链接库不用重...
  • zang141588761
  • zang141588761
  • 2016年04月26日 10:10
  • 4894

Delphi动态调用C++写的DLL

c++ DLL 文件,建议用最简单的c++编辑工具。不会加入很多无关的DLL文件。本人用codeblocks+mingw。不像 VS2010,DLL编译成功,调用的时候会提示缺其他DLL。 系统生成的...
  • mycoolme5
  • mycoolme5
  • 2016年04月13日 16:51
  • 533

Delphi调用C写的dll

一.用C语言写了一个Dll,编译成功。 是一个非常简单的加密算法,代码如下: #include __declspec(dllexport) void Encipher(char a[16])  ...
  • farrellcn
  • farrellcn
  • 2014年01月17日 20:10
  • 1412

delphi 在DLL中添加窗体

方案一:   在DLL工程中新建一个FORM窗体.在窗体中加入如下代码:   1.首先需要再 implementation 之前声明下以下函数. 1 procedure Sy...
  • farrellcn
  • farrellcn
  • 2016年05月25日 10:44
  • 1652

内存中加载DLL DELPHI版

//从内存中加载DLL DELPHI版 unit MemLibrary; interface uses Windows; function memLoadLibrary(pLib: Pointe...
  • q46mu28wem
  • q46mu28wem
  • 2017年05月22日 21:16
  • 152

Delphi调用DLL中的接口

最近很少上论坛,这几次发现好几个问题都是围绕如何使用DLL中的接口而展开的。 问题描述: 具体问题就是在隐式使用接口变量后,在FreeLibrary执行后,就会出现一个非法访址的错误。 ...
  • yanjinrong
  • yanjinrong
  • 2014年11月02日 10:57
  • 1212

Delphi7程序调用C#写的DLL解决办法(DLL)

近来,因工作需要,必须解决Delphi7写的主程序调用C#写的dll的问题。在网上一番搜索,又经过种种试验,最终证明有以下两种方法可行:     编写C#dll的方法都一样,首先在vs2005中创建...
  • zlwzlwzlw
  • zlwzlwzlw
  • 2015年02月10日 10:15
  • 2675

delphi 开发中遇到的DLL问题思考及解决方法

最近在公司写一个外壳程序,调用DLL插件把FORM嵌入到EXE中的一个PANEL中,其中遇到了不少的问题,大部分已经解决,还有几个至今没有找到解决方法,有待研究,也希望知道解决方法的富翁共享一下研究成...
  • spd260
  • spd260
  • 2013年02月22日 13:08
  • 924

C/C++调用Delphi制作的dll时发现的一些问题

做了一个网络业务逻辑实体,是用C++编写的dll,内部有一个全局的业务实体,外部准备用Delphi编写的界面程序来控制并显示状态...... 1. C++的dll中不能用C++风格的导出方式:_dec...
  • gyymen
  • gyymen
  • 2016年12月09日 08:31
  • 1078

使用package(包功能)实现DLL与主程序的数据库连接共享(Delphi版)

1、使用Package实现 如何使用Delphi开发大型主从架构系统-Package的秘密和威力 相信许多人和我一样,在使用Delphi开发应用系统的时候,一定会想到如何的切割整个应用系统。是把所...
  • pnf88
  • pnf88
  • 2015年02月09日 23:58
  • 1241
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在Delphi中实现ASP编程
举报原因:
原因补充:

(最多只允许输入30个字)