IntraWeb开发学习笔记(五) 作者:bnPYSse(原创) | ||
最近有些朋友来信问到在Apache环境下开发IntraWeb应用程序的问题,因为涉及的内容比较多,每次回复起来特别的麻烦,所以,在这一期学习笔记里面,我将为大家着重介绍一下在Apache环境下的IntraWeb的开发与发布问题。 | ||
21、IntraWeb的Apache开发问题 | ||
首先要对Delphi7进行修改,使之适应于Apache.v.2.0.45。Apache的最新版本可在这里下载。关于Apache的安装就不多说了,如果机器已经配置了IIS服务,可更改WEB服务端口为8080。安装完成如果能顺利启动Apache服务的话,在浏览器窗口键入http://localhost:8080/index.html.en,如出现说明文件,则说明Apache已经顺利启动了。 Apache是一个非常优秀的WEB服务器软件,在全球的装机量据统计占到50%以上,其安全性、可靠性、灵活性及速度均有不凡的表现。Delphi7对Apache提供了完备的支持,不过由于最新版本的Apache对接口进行了修改,所以,需要对Delphi的httpd2.pas文件进行一点修改才成。这个具体的修改过程,Xalion已在其文章《使Delphi 6.0 支持 Apache 2.0》进行了详细的说明,并且已经提供了修改好的文件下载,点击这里下载该修改包,将该包解压到Delphi7的Lib目录下,并删除掉这个三个文件的.dcu,编译你的程序,则会对这三个文件重新编译的。 1、新建IntraWeb应用,并选择其中的Apache 2.x Shared Module,则Delphi7会为你自动生成一个框架文件:
{$E so}编译选项是生成*.so文件,默认的情况下,生成的文件名为IWDSO2Project_module.so,你也可以根据需要对这个文件名进行任意的更改。比如,我们将其改为Test_module。 2、选择IWForm1,放入一个IWLabel,并更改其文本属性为“Apache2演示”。按下Ctrl+F9编译,在当前目录下会产生一个Project1.so文件。 3、打开Apache安装目录下conf\httpd.conf配置文件,找到LoadModule区段,加入如下的语句: LoadModule Test_module "D:/Borland/Delphi7/Projects/Project1.so" LoadModule分两部分,一是你设定的export的名称,在这里是Test_Module,二是生成的物理文件,亦即工程文件名+".so",可以使用物理路径,如果不想使用物理路径,可以Project1.so文件拷贝到Apache安装目录下的modules下,并修改其为modules/Project1.so。 需要注意的问题有几点:一是大小写,二是要将LoadModule语句加入到LoadModule区段的顶部,三是路径必须是反斜线。 4、另外要添加Location内容如下:
关于Location你可以设定任意的名称,需要注意的是SetHandler要设定的处理句柄必须是Project1,而且是严格区分大小写的。 5、重新启动Apache服务。 6、打开浏览器,键入http://localhost:8080/Test,Test要保证与Location设定的内容相匹配,则应该可以看得到运行结果。 | ||
22、IntraWeb.v.5.1版本的一些新的变量。 | ||
这些变量大多集中在WebApplication对象中,附上一段小代码,编译后,你也可以在你的机器上试试(实在没什么可写的了,有凑字之嫌,大家批评)。
程序当中用到了一个CSS表,你可以打开窗体的ExtraHeader属性,输入如下的CSS定义:
编译成功后,点击按钮,会激活这段代码,为你取出系统变量,可以在IIS、Apache、StandAlone、Service等几种不同的模式下运行,看一看结果,比较一下,也许会有一些收获的。我想。 | ||
先到这里吧,如果有新的东西,我会及时为大家写出来的。我的邮箱,欢迎交流与学习。 | ||