?? intraweb開發學習筆記(五).htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0034)http://www.51delphi.com/wz/19.html -->
<HTML><HEAD><TITLE>IntraWeb開發學習筆記(五)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>BODY {
FONT-SIZE: 9pt; FONT-FAMILY: "Tahoma", "宋體"
}
.Title {
FONT-WEIGHT: bold; FONT-SIZE: 12pt; TEXT-INDENT: 0pt; LINE-HEIGHT: 14pt; FONT-FAMILY: "Tahoma", "宋體"; BACKGROUND-COLOR: #ccccff; TEXT-ALIGN: center
}
TD {
FONT-SIZE: 10pt; TEXT-INDENT: 20pt; LINE-HEIGHT: 14pt; FONT-FAMILY: "Tahoma", "宋體"
}
.prog {
FONT-SIZE: 9pt; TEXT-INDENT: 0pt; FONT-FAMILY: "Courier New", "Courier"; BACKGROUND-COLOR: #ffffff
}
.SubTitle {
FONT-SIZE: 10pt; TEXT-INDENT: 0pt; LINE-HEIGHT: 14pt; FONT-FAMILY: "Tahoma", "宋體"; BACKGROUND-COLOR: #cc99ff
}
</STYLE>
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY>
<TABLE cellSpacing=1 width="80%" align=center bgColor=#0000ff border=0>
<TBODY>
<TR>
<TD class=Title bgColor=#ffffff>
<P>IntraWeb開發學習筆記(五)</P>
<P align=right><FONT size=-1>作者:bnPYSse(原創)</FONT></P></TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>最近有些朋友來信問到在Apache環境下開發IntraWeb應用程序的問題,因為涉及的內容比較多,每次回復起來特別的麻煩,所以,在這一期學習筆記里面,我將為大家著重介紹一下在Apache環境下的IntraWeb的開發與發布問題。</P></TD></TR>
<TR>
<TD class=SubTitle bgColor=#ffffff>21、IntraWeb的Apache開發問題</TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>首先要對Delphi7進行修改,使之適應于Apache.v.2.0.45。Apache的最新版本可在<A
href="http://nagoya.apache.org/mirror/httpd/binaries/win32/apache_2.0.45-win32-x86-no_ssl.exe">這里</A>下載。關于Apache的安裝就不多說了,如果機器已經配置了IIS服務,可更改WEB服務端口為8080。安裝完成如果能順利啟動Apache服務的話,在瀏覽器窗口鍵入http://localhost:8080/index.html.en,如出現說明文件,則說明Apache已經順利啟動了。</P>
<P>Apache是一個非常優秀的WEB服務器軟件,在全球的裝機量據統計占到50%以上,其安全性、可靠性、靈活性及速度均有不凡的表現。Delphi7對Apache提供了完備的支持,不過由于最新版本的Apache對接口進行了修改,所以,需要對Delphi的<FONT
face="Courier New, Courier, mono">httpd2.pas</FONT>文件進行一點修改才成。這個具體的修改過程,Xalion已在其文章<A
href="http://www.51delphi.com/wz/11.html">《使Delphi 6.0 支持 Apache
2.0》</A>進行了詳細的說明,并且已經提供了修改好的文件下載,點擊<A
href="http://www.51delphi.com/file/apache2d.rar">這里</A>下載該修改包,將該包解壓到Delphi7的Lib目錄下,并刪除掉這個三個文件的.dcu,編譯你的程序,則會對這三個文件重新編譯的。</P>
<P>1、新建IntraWeb應用,并選擇其中的Apache 2.x Shared
Module,則Delphi7會為你自動生成一個框架文件:</P>
<TABLE cellSpacing=1 width="90%" align=center bgColor=#cccccc border=0>
<TBODY>
<TR>
<TD class=prog><STRONG>library</STRONG> Project1;
<P><STRONG>uses</STRONG><BR> IWInitApacheTwo,<BR> ApacheTwoApp,<BR> ServerController
<STRONG>in</STRONG> 'ServerController.pas'
{IWServerController:TIWServerControllerBase},<BR> Unit1
<STRONG>in</STRONG> 'Unit1.pas' {IWForm1: TIWFormModuleBase};</P>
<P><FONT color=#00cc00>{$E so}</FONT></P>
<P><FONT color=#00cc00>{$R *.RES}</FONT></P>
<P><STRONG>exports</STRONG><BR> apache_module <STRONG>name</STRONG>
'IWDSO2Project_module';</P>
<P><STRONG>begin</STRONG><BR> IWRun;<BR><STRONG>end.</STRONG><BR></P></TD></TR></TBODY></TABLE>
<P><FONT face="Courier New, Courier, mono" color=#00cc00>{$E
so}</FONT>編譯選項是生成<FONT
face="Courier New, Courier, mono">*.so文件,</FONT>默認的情況下,生成的文件名為<FONT
face="Courier New, Courier, mono">IWDSO2Project_module.so</FONT>,你也可以根據需要對這個文件名進行任意的更改。比如,我們將其改為<FONT
face="Courier New, Courier, mono">Test_module</FONT>。</P>
<P>2、選擇<FONT face="Courier New, Courier, mono">IWForm1,</FONT>放入一個<FONT
face="Courier New, Courier, mono">IWLabel</FONT>,并更改其文本屬性為“Apache2演示”。按下Ctrl+F9編譯,在當前目錄下會產生一個<FONT
face="Courier New, Courier, mono">Project1.so</FONT>文件。</P>
<P>3、打開Apache安裝目錄下conf\httpd.conf配置文件,找到LoadModule區段,加入如下的語句:</P>
<P><FONT face="Courier New, Courier, mono">LoadModule Test_module
"D:/Borland/Delphi7/Projects/Project1.so"</FONT></P>
<P><FONT
face="Courier New, Courier, mono">LoadModule</FONT>分兩部分,一是你設定的<FONT
face="Courier New, Courier, mono"><STRONG>export</STRONG></FONT>的名稱,在這里是<FONT
face="Courier New, Courier, mono">Test_Module</FONT>,二是生成的物理文件,亦即工程文件名+"<FONT
face="Courier New, Courier, mono">.so</FONT>",可以使用物理路徑,如果不想使用物理路徑,可以<FONT
face="Courier New, Courier, mono">Project1.so</FONT>文件拷貝到Apache安裝目錄下的modules下,并修改其為<FONT
face="Courier New, Courier, mono">modules/Project1.so</FONT>。</P>
<P>需要注意的問題有幾點:一是大小寫,二是要將<FONT
face="Courier New, Courier, mono">LoadModule語句</FONT>加入到<FONT
face="Courier New, Courier, mono">LoadModule</FONT>區段的頂部,三是路徑必須是反斜線。</P>
<P>4、另外要添加Location內容如下:</P>
<TABLE cellSpacing=1 width="80%" align=center bgColor=#cccccc border=0>
<TBODY>
<TR>
<TD class=prog><Location /Test><BR> SetHandler
Project1-handler<BR></Location></TD></TR></TBODY></TABLE>
<P>關于<FONT
face="Courier New, Courier, mono">Location</FONT>你可以設定任意的名稱,需要注意的是<FONT
face="Courier New, Courier, mono">SetHandler</FONT>要設定的處理句柄必須是<FONT
face="Courier New, Courier, mono">Project1</FONT>,而且是嚴格區分大小寫的。</P>
<P>5、重新啟動Apache服務。</P>
<P>6、打開瀏覽器,鍵入http://localhost:8080/Test,Test要保證與<FONT
face="Courier New, Courier, mono">Location</FONT>設定的內容相匹配,則應該可以看得到運行結果。</P></TD></TR>
<TR>
<TD class=SubTitle bgColor=#ffffff>22、IntraWeb.v.5.1版本的一些新的變量。</TD></TR>
<TR>
<TD bgColor=#ffffff>
<P>這些變量大多集中在WebApplication對象中,附上一段小代碼,編譯后,你也可以在你的機器上試試(實在沒什么可寫的了,有湊字之嫌,大家批評)。</P>
<TABLE cellSpacing=1 width="80%" align=center bgColor=#cccccc border=0>
<TBODY>
<TR>
<TD class=prog>
<P><STRONG>procedure</STRONG>
TIWForm1.IWButton1Click(<STRONG>Sender</STRONG>:
TObject);<BR><STRONG>var</STRONG><BR> s:<STRONG>String</STRONG>;<BR><STRONG>begin</STRONG>
<BR>s:='<table width="80%" border="0" align="center"
cellspacing="1" bgcolor="#0033FF">'+<BR> '<tr
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -