一基礎知識介紹編程
一、ActiveForm的基礎知識介紹:安全
在Delphi中,ActiveForm是封裝了Delphi Form的一種ActiveX控件。ActiveForm實際上是一種標準的Delphi From(ActiveForm繼承自TForm)。ActiveForm中可能會包含某些VCL或者ActiveX組件,包括用戶自定義的組件。 就像「標準的」Windows應用程序同樣,咱們也能夠向ActiveForm中添加代碼以及對事件做出應答。惟一的區別是,ActiveForm的標題欄(title bar)在運行時是不可見的,只是在設計時纔可見。spa
二、ActiveForm的做用:開發B/S模式下的運行的應用程序(開發瀏覽器的客戶端應用程序).net
使用Delphi ActiveForm的功能能夠開發一個在瀏覽器中執行的Delphi應用程序。因爲ActiveForm能夠包含任何Delphi中的VCL組件,因此程序員能夠創建一個擁有數據感知能力的ActiveForm組件,具備處理數據的能力,當它使用於IE時,就可讓IE變成可以處理數據的應用系統。設計
三、用ActiveForm開發B/S模式與C/S模式是不同的。code
使用Delphi ActiveForm的功能開發一個能夠在瀏覽器中執行的Delphi應用程序時,與一般的Delphi開發應用程序並不相同。Delphi開發在C/S模式下運行的應用程序,一般選擇菜單項「File」—〉「New」—〉「Application」,從而創建一個新的project來完成。 開發在B/S模式下運行的應用程序,和C/S模式有些區別。 orm
一、建立一個ActiveForm工程的具體步驟:htm
1>、【File】—>【Close All】,首先關閉全部的項目。
2>、而後【File】—〉【New】,打開New Items對話框。切換到【ActiveX選項卡】中選擇創建【Active Form】。而後點【OK】按鈕,打開向導窗體。該向導會建立一個ActiveX library項目來包含ActiveForm和一個可定製的激活的Form窗口。
3>、在嚮導窗體中輸入New ActiveX name,這裏我輸入一個AFHello,其它保持默認,點擊【OK】。(自動建立了一個ActiveX Library 工程,一個Form窗口,一個實現文件,一個類型庫,以及一個包含了全部這些類型庫說明信息的類型庫文件(.TLB文件)。)
4>、這時Delphi爲咱們創建好了一個ActiveForm的窗體,咱們先拉一個按鈕到窗體上,把按鈕的name屬性設爲btnHello,Caption設爲say hello,在按鈕的onclick事件中,輸入編程:
procedure TAFHello.btnHelloClick(Sender: TObject);
begin
MessageBox(Handle,'個人第一個ActiveForm','hello',mb_ok)
end;
5>、代碼的部份完成了,選擇菜單"File"->"Save All",保存全部工程,我這裏是將工程中的全部文件保存在「D:\AFHello\"目錄下,
6>、下面就是要將ActiveForm發佈出來了,從下拉菜單中選中"Project"->"Web Deployment Options",在彈出的窗口輸入以下信息:
Target dir : OCX保存的目錄;ActiveForm組件於HTML首頁中codebase tag的目的。
Target URL : OCX發佈後的虛擬目錄,這裏".\"表示在根目下;Delphi分發ActiveX組件的時候自動產生一個HTML的首頁檔案;
HTML dir : 輸出一個包含控件的Html文件,它的存放目錄;點擊【OK】按鈕,
<HTML> <H1> Delphi 7 ActiveX Test Page </H1><p> You should see your Delphi 7 forms or controls embedded in the form below. <HR><center><P> <OBJECT classid="clsid:82C92557-9E0F-4E54-93BF-B36BDC598625" codebase="./ActiveFormProj1.ocx#version=1,0,0,0" width=350 height=250 align=center hspace=0 vspace=0 > </OBJECT> </HTML> |
7>、而後從下拉菜單中選中"Project"->"Web Deploy",進行發佈,在目標目錄中生成了一個htm文件和一個ocx文件,從IE加載htm文件,就能夠運行ocx了.用鼠標點擊一個"say hello"按鈕,看看運行狀況是怎麼樣的。
8>、哈哈,第一個ActiveForm工程就完成了!點擊htm文件運行。(另外須要修改IE的設置,不然默認狀況下OCX會由於安全性問題禁止被運行。若是有簽名就沒有安全性問題,可是簽名的證書是要花錢買的)
二、註冊ActiveForm控件
要想在其它項目中調用咱們剛建立的Active Form,咱們必須先將其註冊到Windows消息系統中,而後還要將其添加到Delphi的VCL類庫中,這樣在其它項目中才能找到該Active Form控件並進相應的使用。
註冊ActiveForm,也組成普通的Active控件的同樣的。
三、調用ActiveForm控件
使用其它的VCL控件同樣使用咱們添加的ActiveForm控件。在Delphi中,點擊File->New->Application建立一個新的應用程序,而後在其默認建立的Form窗口中添加咱們剛添加的Active Form控件。