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

實例探討VB.NET回調函數(shù)

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

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

#t#無論什么時候一個對象被打開并要被修改時,數(shù)據(jù)庫事件處理函數(shù)會被調用。當然,如果這時我們監(jiān)視的命令不是活動的,我們就應該跳過任何被這個VB.NET回調函數(shù)調用的內容。

If bEditCommand = False Then
Return
End If

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

If bDoRepositioning = True Then
Return
End If

這個VB.NET回調函數(shù)剩余部分的代碼用來驗證我們是否正在處理EMPLOYEE塊索引。如果是的話,我們就獲取它的ObjectID和位置(三維點)。下面的代碼可以被粘貼到這個事件處理函數(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 
責任編輯:佚名 來源: IT168
相關推薦

2010-01-19 18:24:29

VB.NET調用Win

2009-10-30 16:31:55

VB.NET重載方法

2009-10-19 17:42:31

VB.NET API函

2009-10-21 10:45:50

VB.NET Quic

2009-10-15 17:50:48

VB.NET Spli

2009-10-28 14:13:32

VB.NET File

2009-10-28 14:34:44

VB.NET Tree

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-22 09:20:46

VB.NET Proc

2009-10-21 09:40:23

VB.NET搜索

2010-01-19 14:42:43

VB.NET調用過程重

2009-10-26 19:22:29

VB.NET使用Log

2009-10-26 16:53:00

VB.NET常用代碼

2010-01-18 17:29:35

VB.NET函數(shù)調用

2009-10-15 17:50:48

VB.NET調用API

2010-01-11 14:06:14

VB.NET時間函數(shù)

2009-10-12 16:08:14

VB.NET訪問注冊表
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久国产一区二区三区 | 欧美二区三区 | 中文字幕高清av | 国产欧美在线观看 | 日本免费一区二区三区四区 | 国产精品精品久久久久久 | 色男人的天堂 | 伊人久久成人 | 国产成人精品一区二区三 | 综合久久亚洲 | www亚洲免费国内精品 | 精品91| 国产精品久久久久久久久久久免费看 | 欧美自拍第一页 | 国产成人精品久久二区二区91 | 一区二区精品 | 国产日韩欧美在线 | 久久久爽爽爽美女图片 | 欧美不卡一区二区三区 | 精品美女| 亚洲国产精品自拍 | 一区二区三区久久 | 成人在线小视频 | 国产精品无码专区在线观看 | 日韩在线免费播放 | 午夜丰满少妇一级毛片 | 91精品国产91久久综合桃花 | 视频一区二区三区中文字幕 | 欧美精品日韩精品国产精品 | 久久黄色精品视频 | 精品九九 | 成人在线中文字幕 | 日韩成人中文字幕 | 久久久久久国产精品 | 日韩在线视频网址 | 国产精品毛片无码 | 成年人在线观看视频 | 成人精品视频免费 | 亚洲一区二区三区在线 | 久久久www成人免费无遮挡大片 | 欧美一级久久 |