將ASP代碼移植為VB COM組件(轉3)

來源:互聯網
上載者:User
使用子程式和函數
作 者 : 青苹果電腦工作室                                    本文點擊次數:351


     一個快速回答的問題:為什麼關於ASP的書中,討論使用子程式和函數的代碼的那麼少?

     雖然一行一行地寫ASP代碼要更加簡單,但是以程式的形式來編碼卻有許多益處。

     首先,非程式化的代碼不容易移植到Visual Basic。也許目前你沒有這個計劃,但是總有一天你會為了
其效能或可擴充性而將一些代碼移植到組件中。

     其次是程式是運行得更快。對ASP效能的最大消耗是上下文轉換,每次從ASP代碼區< % % > 移到無格式的
HTML時都會發生。因為你不會在程式內部編碼一個上下文轉換,就不諱感覺到這種消耗。另外,ASP的
緩衝器也顯示當子程式用程式化代碼點擊頁面時會有很大的不同。這裡是使用程式化代碼的ASP應用程式
"Hello World" 的必須部分:

     Private Sub Main()
     Response.Write "Hello World!"
     End Sub

     Call Main

     為了完整起見,我在程式中包含了一個上下文轉換的小例子。如果你實驗這個代碼,它會運行,但是請
不要在你自己的應用程式內部這樣做。

     < %@ Language=VBScript % >
     < %
     Private Sub DoStuff()
     % >
     This is < b > HTML Text! < /b >
     < %
     End Sub
     % >
     < HTML >
     < HEAD >
     < META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0" >
     < /HEAD >
     < BODY >
     < P >< % Call DoStuff % >< /P >
     < /BODY >
     < /HTML >

     程式化的代碼還有一些其它益處。首先你會發現再利用包含在程式中的代碼部分更加容易。其次,要
實現同樣的目的所需要的程式碼更少。第三,你將要開始開發一個大的可再利用程式碼程式庫。開始時它的
形式是.inc 檔案,最後你自己的普通COM組件看起來就像Jeff Gordon(著名賽車選手)一樣棒。

     移植你的代碼

     有幾件事與從VBScript向Visual Basic移植代碼一樣簡單。一般來說,你需要移走代碼並增加資料類型。
有時,也可以在Visual Basic中應用一些更有效演算法,但是必須先保證代碼可以正常工作。

     在我們這個應用程式舉例中,將要移植一些簡單的代碼到兩個Visual Basic COM 組件中。將一些HTML
表格格式拖到表述類中,將ADO 對象代碼拖到包裹了ADO 的資料存取類中。通過將這兩個類都放入
ActiveX DLL 工程檔案中可以使工程檔案稍稍簡單化。在實際工作中,可以為每一層建立單獨的工程
檔案,但是這個工程檔案要在一個DLL中表明思路。如果你想糾正這種情況,就將資料存取類移到另一個
工程檔案中並作為一個DLL編譯。必須在表述要應用它的DLL工程檔案中增加對這個新DLL的引用。

     在這個樣本工程檔案中使用的資料庫是一個Northwind 資料庫,它與Visual Basic包含在一起。在這個
樣本工程檔案的ZIP 檔案中,我為那些沒有安裝Visual Basic的人做了這個檔案的一個表格的版本。樣本
工程檔案中還包含一個與ASP代碼一起使用的編譯過的DLL。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.