Web Application 開 發 利 器 - WebSnap!
附錄A、 一些小技巧
這一節是一些小技巧的討論,當我們在開發WebSnap 程式時如果碰上了程式工作不正常,而你又無法由原始碼中看出端倪,這時我們可以使用WebAppDebuger 中的Log 資訊來查看Client 與 Server 之間傳遞的資料,這在許多情況下相當有用:
在你要查看的那一列雙按滑鼠就可以開出下列的視窗。
你可以發現這些資料就是Client 與 Server 來往的資料,對我們除錯相當有用。之前我們曾經談過,當我們需要對TAdapterPageProducer 產生出的 Script 做修改時,我們必須先把script 移到 TPageProducer 中,首先我們要放入一個TPageProducer 元件,你可以在Internet 那一頁找到她,接著我們將PageModule 中的Producer 設定值設為你放入的那一個PageProducer,現在我們就可以把Script 那頁的所有程式碼copy 到.html 那一頁:
接著我們還得設定TPageProducer 的ScriptEngine 特性值為JScript,完成後你只要做你想要的修改就可以了,只是你必須要記得,如果你日後還想使用TAdapterPageProducer 來設計你的網頁的話,那你最好使用註解來標示你所修改的部份,因為在你重新使用TAdapterPageProducer 之前你必須要將.html 中的script 清除掉,還原回原來的樣子,否則TAdapterPageProducer 就會出錯,的確! 這看起來蠻沒效率的,不過我們可以利用撰寫元件來減少這種機會,撰寫元件還有可移植的好處,如果日後Kylix 使用Borland 自己開發的Script 或是使用非JScript 的Script 語言時,我們只需要修改我們的元件支援該Script語言就可以了,不需要改變我們的原始碼,相關的技術我會在Inside WebSnap 一文中與你討論。
關於後面的計劃
Inside WebSnap 目前進度在我的控制中緩緩行進,應該可以在10 月中完成,另外還有兩篇: dbExpress 及WebService II,這兩篇較無時程,可能會寫,也可能不會寫,視我心情與工作量而定。我將本文中的範例程式寫在一個專案中,你可以依照閱讀的進度開啟對照。請記住,因為時間的關係,我沒有做好錯誤控管,這些在實務中是很重要的。另外在範例程式中有兩個Project,一個是WebAppDebuger,另一個是ISAPI,我在兩種上面都做了測試,只是在ISAPI 上有時會發生BDE 初始化錯誤,這也是我不建議你使用BDE 的原因之一,但我又沒有其它的資料庫檔案可用,總不能要你裝個Access 或是 Interbase 還是MSSQL 吧,所以可別誤解我鼓勵你用BDE 哦 (至少在WebSnap 上不鼓勵)。
範例程式在那?
Data.zip (資料檔,請解至 BDE 中的 BCDEMOS Alias 對應目錄下)
Exam_1.zip (範例檔,前半部的範例)
Demo2.zip (更新版新增的範例)
Exam_1
計算機
Grid,Edit 是第一個資料庫程式的範例
Login 登入系統,使用者管理的範例
MasterDetailEdit,EditDetail,NewDetail Master-Detail 資料庫範例
ImageDB,EditImageDB 圖形處理的範例
MyAdapter 自訂型Adapter 範例
MyPageAdapter 簡單型檔案總管
WebService 結合BizSnap 的範例
DemoLocateService 展示LocateFileService 的範例
MySessionPagedAdapter 結合Session 的檔案總管範例
OrpWebSnap.zip (OrpDemoAdapter Package,TOrpEditablePagedAdapter)
請先安裝這個package,這樣才能編譯範例。