在ASP中利用COM組件開發Web應用程式

來源:互聯網
上載者:User
web|程式|組件開發 如果你是一名Active Server Page (ASP) 開發人員,相信你可能經常使用COM對象來建立ASP頁面。甚至在你使用中都忽略了他就是COM對象。比如:ADO。只個調用率最高的組件已讓你的頁面擴充了無限的功能。然而ASP本身是解釋型指令碼,在功能上不足COM強大。作為擁有快速開發,易用性強,支援COM的VB自然的作為了ASP中開發COM的首要工具。下面的示範和描述中,通過Visual Basic 語言在告訴大家如何寫COM及COM物件模型的使用,相信會讓你有所收穫。   
  • 屬性和方法之間有什麼不同?
  • 介紹一個屬性的要點?
  • 什麼是一個唯讀屬性的含義?
  • 什麼是集合對象?
  • 什麼是集合對象中的標準屬性?
  • ........
  COM是一個物件導向的標準,在定義COM對象中只有方法和屬性。他們沒有其他的介面,方法能擁有參數,屬性不能,屬性又擁有讀/寫兩種屬性,方法可以返回一個值。

  屬性

  屬性不接收任何參數並通常使用描述對象狀態或設定一個對象而被使用。所有屬性返回一個值,然而一些屬性是唯讀,一些是讀/寫。在這裡介紹一個用Visual Basic 文法的例子協助解讀屬性:

  例1

  讀

value = object.property
  寫

object.property = value
   注意:這裡並沒有熟悉的圓括弧,只是像變數一樣的賦值。這裡就是與方法(function/sub)不同之處。以上是用Visual Basic 文法設定一個屬性。

  方法

  方法能傳回值或賦值,通常是被使用一個對象初始化事件,或一個函數過程的調用。方法能被賦值,但只有存在與參數列表,如果一個方法沒有參數,那麼文法如下:

  例2

value = object.method()
   注意在 例2中這個方法被設定空(),方法能有一個傳回值必須有帶().以例所述,這個連線物件有一個執行方法並返回一個Recordset對象。這裡是例子:

  例3

Set Rs = Conn.Execute ("select * from table")
  方法不返回一個值,在參數中沒有().例如連線物件中的關閉方法。

  例4

Conn.Close
  重點:

  方法能擷取一個或多個參數或不擷取參數。然而,參數也同樣是可選的。參數一但存在,就必須全部賦值。如果有一個參數是可選,所有在該參數後的其他參數也同樣可選。例:開啟資料庫連接的方法是一個關於選擇性參數方法的好的例子。這個開啟方法有八個選擇性參數。第一,第二是建立資料庫和登入資訊。如例5

  例5

Conn.Open "DSN","sa",""
  顯示一個DSN的資料來源,一個 sa 的登入帳號和一個空的密碼。或是你能知道關於例6中開啟的方法:

  例6

Conn.Open "driver=SQL Server;server=yourServerName;uid=someUID;" &_
"pwd=somePWD;database=someDatabase;"
  注意在例6中我們只使用了一個參數和例5中我們使用的三個選擇性參數結果是一樣的。 選擇性參數是一個在被呼叫的方法中的參數允許為空白或已被插入了預設值。在例6中被使用的選擇性參數是預設值,在例7中使用的選擇性參數是空。

  例7

Conn.Open "DSN","sa","", , , ,
  在例8中參數為空白值的這幾個選擇性參數是不同與例5的。,

  集合

  集合對象可以儲存許多元素而且在建立以後也可以改變他們的資料。一個集合有Item方法,一個Count屬性和一個遍曆方法。一個集合的集合類型也同樣需要擁有建立對象的能力。換句話說。如果一個特別的對象需要在一個集合對象中建立一個對象群。如例,一個磁碟機集合對象需要提供顯示磁碟機在電腦中的詳細資料。

  用Count屬性返回在這個集合中有多少對象。遍曆方法允許程式員在一個集合對象中從頭到尾地迴圈。例8中說明了遍曆方法:

  例8

For Each Object in Collection
Next Object
  注意在這個遍曆方法中沒有應用如例中的文法。這是因為一個遍曆方法是特例在Visual Basic允許在開始使用並用For Next聲明。

  預設方法或屬性

  方法或屬性是COM索引從0被擷取的預設屬性。Visual Basic 允許程式員在不知道如何使用方法和屬性文法時自動呼叫預設值。相關說明看例9。

  例9

Set Object = Collection.Item(2)
  這裡是擷取在集合中擷取第二列並分配給Object對象。因為Item方法是一個預設方法。你因此可以使用像例10中的Item方法。

  例10

Set Object = Collection(2)
  對象初試化

  在ASP中建立一個對象執行個體。你可以使用一個像例11中的聲明

  例11

Set Object = Server.CreateObject("SMUM.XCheck.1")
  這裡服務端的CreateObject方法中的參數是一個ProgId(Program ID).這個ProgId是一個唯一分配的COM對象.你必須知道這個COM對象的ProgId才能建立這個COM對象.

  這裡介紹另一種方法來建立COM對象.你能使用其他的COM對象來建立返回一個新的對象.這裡介紹一個集合工作.你在一個集合方法返回一個COM對象所在集合對象中的索引號,另一個對象隨時會返回一個COM對象.在例12中你必須用類似set來聲明。

  例12

Set Object = Collection.Item(2)
  服務端是一個COM對象。例11和例16許多地方都很相似。他們是從一個COM對象中訪問另外一個COM對象。他們不同之處就在於一個是在服務端使用CreateObject的方法來建立一個服務端對象從而返回一個COM對象。另一個是用在一個集合內通過Item方法返回一個COM對象。因此如果你需要在一個COM對象中建立另一個COM對象。服務端對象來自與哪?答案就如是先有雞還是先有蛋的問題他們是聲名一個ASP中的內建COM對象。

  內建COM對象

  在ASP環境中有六個內建的COM對象。

  Server
  Request
  Response
  Application
  Session
  ObjectContext

  關於ASP內建對象在這裡不多說。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.