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

實(shí)例探討VB.NET回調(diào)函數(shù)

開(kāi)發(fā) 后端
這里介紹這個(gè)VB.NET回調(diào)函數(shù)剩余部分的代碼用來(lái)驗(yàn)證我們是否正在處理EMPLOYEE塊索引。如果是的話,我們就獲取它的ObjectID和位置(三維點(diǎn))。

VB.NET經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,很多用戶都很了解VB.NET回調(diào)函數(shù)了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。創(chuàng)建數(shù)據(jù)庫(kù)事件處理函數(shù)(VB.NET回調(diào)函數(shù))

#t#無(wú)論什么時(shí)候一個(gè)對(duì)象被打開(kāi)并要被修改時(shí),數(shù)據(jù)庫(kù)事件處理函數(shù)會(huì)被調(diào)用。當(dāng)然,如果這時(shí)我們監(jiān)視的命令不是活動(dòng)的,我們就應(yīng)該跳過(guò)任何被這個(gè)VB.NET回調(diào)函數(shù)調(diào)用的內(nèi)容。

If bEditCommand = False Then
Return
End If

同樣地,如果我們監(jiān)視的命令已經(jīng)結(jié)束,而ObjectOpenedForModify事件被另一個(gè)VB.NET回調(diào)函數(shù)再次觸發(fā)的話,而這時(shí)有對(duì)象被修改時(shí),我們要阻止所有由這個(gè)VB.NET回調(diào)函數(shù)執(zhí)行的動(dòng)作。

If bDoRepositioning = True Then
Return
End If

這個(gè)VB.NET回調(diào)函數(shù)剩余部分的代碼用來(lái)驗(yàn)證我們是否正在處理EMPLOYEE塊索引。如果是的話,我們就獲取它的ObjectID和位置(三維點(diǎn))。下面的代碼可以被粘貼到這個(gè)事件處理函數(shù)函數(shù)。

  1. Public Sub objOpenedForMod(ByVal o As Object, ByVal e As ObjectEventArgs)  
  2. If bEditCommand = False Then  
  3. Return  
  4. End If  
  5. If bDoRepositioning = True Then  
  6. Return  
  7. End If  
  8. Dim objId As ObjectId  
  9. objId = e.DBObject.ObjectId  
  10. Dim trans As Transaction  
  11. Dim bt As BlockTable  
  12. Dim db As Database  
  13. db = HostApplicationServices.WorkingDatabase  
  14. trans = db.TransactionManager.StartTransaction()  
  15. Try  
  16. 'Use it to open the current object!  
  17. Dim ent As Entity = trans.GetObject(objId, OpenMode.ForRead, False)  
  18. If TypeOf ent Is BlockReference Then 'We use .NET's RTTI to establish type.  
  19. Dim br As BlockReference = CType(ent, BlockReference)  
  20. 'Test whether it is an employee block  
  21. 'open its extension dictionary  
  22. If br.ExtensionDictionary().IsValid Then  
  23. Dim brExtDict As DBDictionary = trans.GetObject(br.ExtensionDictionary(), OpenMode.ForRead)  
  24. If brExtDict.GetAt("EmployeeData").IsValid Then  
  25. 'successfully got "EmployeeData" so br is employee block ref  
  26. 'Store the objectID and the position  
  27. changedObjects.Add(objId)  
  28. employeePositions.Add(br.Position)  
  29. 'Get the attribute references,if any  
  30. Dim atts As AttributeCollection  
  31. atts = br.AttributeCollection  
  32. If atts.Count > 0 Then  
  33. Dim attId As ObjectId  
  34. For Each attId In atts  
  35. Dim att As AttributeReference  
  36. att = trans.GetObject(attId, OpenMode.ForRead, False)  
  37. changedObjects.Add(attId)  
  38. employeePositions.Add(att.Position)  
  39. Next  
  40. End If  
  41. End If  
  42. End If  
  43. End If  
  44. trans.Commit()  
  45. Finally  
  46. trans.Dispose()  
  47. End Try  
  48. End Sub 
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2010-01-19 18:24:29

VB.NET調(diào)用Win

2009-10-19 17:42:31

VB.NET API函

2009-10-30 16:31:55

VB.NET重載方法

2009-10-21 10:45:50

VB.NET Quic

2009-10-15 17:50:48

VB.NET Spli

2009-10-28 14:34:44

VB.NET Tree

2009-10-28 14:13:32

VB.NET File

2010-01-18 10:33:28

VB.NET基本函數(shù)

2009-10-26 10:44:27

VB.NET API函

2009-11-02 13:14:18

VB.NET函數(shù)

2009-10-28 15:01:59

VB.NET SHEL

2009-10-21 09:40:23

VB.NET搜索

2009-10-22 09:20:46

VB.NET Proc

2010-01-19 14:42:43

VB.NET調(diào)用過(guò)程重

2009-10-26 16:53:00

VB.NET常用代碼

2009-10-26 19:22:29

VB.NET使用Log

2010-01-18 17:29:35

VB.NET函數(shù)調(diào)用

2009-10-15 17:50:48

VB.NET調(diào)用API

2010-01-11 14:06:14

VB.NET時(shí)間函數(shù)

2009-10-12 16:08:14

VB.NET訪問(wèn)注冊(cè)表
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品资源在线观看 | 日韩精品专区在线影院重磅 | 精品国产一区二区 | 中文精品视频 | 成年人视频在线免费观看 | 亚洲精品一区二区三区 | 久久亚洲精品国产精品紫薇 | 91中文视频 | 亚洲欧美在线视频 | 成人二区 | 日韩高清av | 农村真人裸体丰满少妇毛片 | 一久久久| 成人一区二区三区在线观看 | 亚洲一二三区精品 | 粉嫩av久久一区二区三区 | 日韩高清电影 | 亚洲国产精品一区二区久久 | 亚洲欧美日韩精品久久亚洲区 | 国产一区二区激情视频 | 天天操天天射天天 | 天天舔天天 | 色性av| 国产一区二区视频免费在线观看 | 久日精品| 久久最新精品 | 一级全黄少妇性色生活免费看 | 日韩欧美在 | 国产日韩欧美一区二区 | 在线播放国产视频 | 成人av片在线观看 | 亚洲精品一二三区 | 亚洲精品久久久一区二区三区 | 亚洲欧美精品国产一级在线 | 中文字幕1区2区3区 日韩在线视频免费观看 | 中文字幕伊人 | 丁香婷婷在线视频 | 国产精品免费在线 | 亚洲精品一区二区三区蜜桃久 | 黑人精品 | 中文字幕 在线观看 |