成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET組件封裝實現功能體驗

開發 后端
VB.NET組件封裝的實現,可以幫助開發人員實現com以供非托管的代碼使用。其具體的操作步驟將會在本文中給出,希望對大家有所幫助。

VB.NET的應用到底能幫助我們帶來些什么呢?只有在實際應用中才能真正的體會到它強大的功能。下面就先從VB.NET組件封裝來看看它的一些主要作用。從這個角度來仔細的分析一下這款編程語言的優點。#t#

前幾天一直在研究如何將VB.NET組件封裝之后可以實現com供非托管代碼調用。上網查資料,查書,試驗,***測試了vb.net,c#,vc++.net 等多種語言,都沒有搞定。在論壇上發了帖子。雖然有回復,但是只是給了些資料。資料看了又看,反復的研讀。照著例子一步一步地做。但總是有些地方沒有成功。正在絕望中。一個朋友給了我簡單的答案。我在高興的同時也感慨自己的愚鈍和呆笨。

原來在vs.net 2005中實現VB.NET組件封裝是如此的簡單。

方法如下:

新建一個項目,選擇Visual Basic \ Window \ 類庫,假設項目名為ClassLibrary1

然后 在solution manager(解決方案資源管理器)中,將新創建的Class1.vb文件刪除。

然后在solution manager(解決方案資源管理器)中的項目上點擊右鍵,在彈出的菜單上點擊添加 \ 類,在彈出的對話框中選擇com類,修改類的名稱(本例中修改為ComC.vb),后點擊添加按鈕。

則會看到ComC.vb的代碼如下:

  1. < ComClass(ComC.ClassId, 
    ComC.InterfaceId, ComC.EventsId)>   
  2. _ Public Class ComCClass ComC   
  3. COM GUID#Region "COM GUID"   
  4. ' 這些 GUID 提供此類的 COM 標識   
  5. ' 及其 COM 接口。若更改它們,則現有的   
  6. ' 客戶端將不再能訪問此類。   
  7. Public Const ClassId As String = 
    "97451265-d75d-4d5a-a39d-6c4b68f8dd99"   
  8. Public Const InterfaceId As String = 
    "5015b9e7-64e6-4750-8c28-5c51d968f1d6"   
  9. Public Const EventsId As String = 
    "1afd03f4-5974-445e-8ca2-a8e9be3432d7"   
  10. #End Region   
  11. ' 可創建的 COM 類必須具有一個不帶參數的   
  12. Public Sub New()   
  13. ' 否則, 將不會在   
  14. ' COM 注冊表中注冊此類,且無法通過   
  15. ' CreateObject 創建此類。   
  16. Public Sub New()Sub New()   
  17. MyBase.New()   
  18. End Sub   
  19. End Class 

現在只要在這個類中添加public 的成員即可,假如我們添加一個方法Northsnow

  1. < ComClass(ComC.ClassId, 
    ComC.InterfaceId, ComC.EventsId)>   
  2. _ Public Class ComCClass ComC   
  3. COM GUID#Region "COM GUID"   
  4. ' 這些 GUID 提供此類的 COM 標識   
  5. ' 及其 COM 接口。若更改它們,則現有的   
  6. ' 客戶端將不再能訪問此類。   
  7. Public Const ClassId As String = 
    "97451265-d75d-4d5a-a39d-6c4b68f8dd99"   
  8. Public Const InterfaceId As String = 
    "5015b9e7-64e6-4750-8c28-5c51d968f1d6"   
  9. Public Const EventsId As String = 
    "1afd03f4-5974-445e-8ca2-a8e9be3432d7"   
  10. #End Region   
  11. ' 可創建的 COM 類必須具有一個不帶參數的   
  12. Public Sub New()   
  13. ' 否則, 將不會在   
  14. ' COM 注冊表中注冊此類,且無法通過   
  15. ' CreateObject 創建此類。   
  16. Public Sub New()Sub New()   
  17. MyBase.New()   
  18. End Sub   
  19. Public Sub Northsnow()Sub 
    Northsnow(ByVal ss As String) MsgBox(ss)   
  20. End Sub   
  21. End Class  

然后就可以編譯,編譯后,在pb中添加如下的代碼來調用這個com

  1. int intValue   
  2. oleobject objOle   
  3. objOle=create OLEObject  
  4. intValue=objOle.
    connecttonewobject
    ("ClassLibrary1.ComC")  
  5. objOLe.Northsnow
    ("I am Northsnow")  

運行這個VB.NET組件封裝的實現程序就會看到效果。

我在C#中沒有看到類似的com類.

現在這個棘手的難題解決了之后,工作可以繼續了。心理挺高興的。但是在高興之余又有一種奇怪的感覺。

VB.NET的確的很強。把很多復雜的東西都包裝起來幫我們實現。我們在享受輕松的解決難題的時候,距離底層技術卻越來越遠。不知道是喜是悲。

 

責任編輯:曹凱 來源: IT168
相關推薦

2010-01-12 10:48:54

VB.NET LIST

2010-01-19 10:03:35

VB.NET Labe

2010-01-22 18:14:49

VB.NET菜單組件

2010-01-22 15:25:46

VB.NET Time

2009-10-20 14:09:05

VB.NET反射功能

2009-10-15 11:11:08

VB.NET Text

2010-01-13 09:45:53

VB.NET Arra

2009-11-02 14:48:45

VB.NET HOOK

2010-01-22 16:39:46

VB.NET添加自動查

2009-11-10 13:27:30

VB.NET RND(

2009-10-26 09:50:20

VB.NET Star

2009-11-03 11:06:40

VB.NET事件

2009-10-23 13:22:25

VB.NET實現拖動圖

2009-10-12 14:32:40

VB.NET實現定時關

2010-01-08 15:41:36

VB.NET窗口關閉

2010-01-22 15:37:02

VB.NET監控類

2009-10-13 10:21:58

VB.NET實現Web

2009-10-29 09:40:35

VB.NET Text

2010-01-18 19:04:29

VB.NET組件疊加

2009-10-29 14:02:24

VB和VB.NET比較
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99在线国产 | 精品亚洲91 | 成人免费看片又大又黄 | 暖暖成人免费视频 | 国产精品久久久久久 | 久久这里有精品 | 国产欧美一区二区三区在线看 | 天天操网 | 国产精品海角社区在线观看 | 精品国产一区二区在线 | k8久久久一区二区三区 | 午夜视频在线观看一区二区 | 欧美一级二级三级视频 | 久久精品二区亚洲w码 | 在线观看精品 | 精品一区二区三区视频在线观看 | 91麻豆精品国产91久久久久久久久 | 亚洲人va欧美va人人爽 | 成人在线视频网 | 精品粉嫩aⅴ一区二区三区四区 | 国产精品一区二区三区久久 | 美女福利视频 | 亚洲视频欧美视频 | 亚洲精品成人免费 | 欧美成人精品在线观看 | 久久精品国产久精国产 | 亚洲色图插插插 | 黄色免费av | 精品一区二区三区在线观看国产 | 亚洲精品一区在线 | 色视频网站在线观看 | 欧美中文字幕一区 | 亚洲一区二区精品视频在线观看 | 亚洲高清一区二区三区 | 精品在线免费观看视频 | 亚洲一区二区三区四区五区中文 | 国产精品中文字幕在线播放 | 狠狠av| 亚洲国产片 | 午夜影院在线观看视频 | 久久久久9999亚洲精品 |