用VB6创建MTS组件(英,转贴)

发表于:2007-06-30来源:作者:点击数: 标签:
@#随便贴贴,学过 VB 的人都应该知道的,不好意思。 @#********************************************************************************************** @#MTS VB6 COM Component Template - by Michael Gonzalez @#*************************************
@#随便贴贴,学过VB的人都应该知道的,不好意思。
@#**********************************************************************************************
@#                 MTS VB6 COM Component Template - by Michael Gonzalez
@#**********************************************************************************************
@#(1) You must create a reference to the Microsoft Transaction Server Type Library (mtxas.dll).
@#    If using Windows 2000, choose the COM+ Services Library (comsvcs.dll) instead.
@#(2) Set your ClassModule@#s MTSTransactionMode property to 2 - RequiresTransaction
@#    Note: ONLY use 2 - Requires Transaction if you plan on using the component with an MSDTC-
@#    compliant Resource Manager such as MSMQ or SQL Server - OTHERWISE, use
@#    1 - No Transactions
@#(3) Make sure your project@#s Unattended Execution property is checked
@#(4) Make sure your project@#s Component Version Compatibility is set to Binary Compatibility
@#**********************************************************************************************
@#  ObjectControl implements the interface that is used by MTS when the object is
@#   activated and/or deactivated - this happens when you call one of the components@#s methods
@#  The ObjectControl implementation makes use of three procedures:
@#   1) ObjectControl_Activate
@#   2) ObjectControl_CanBePooled
@#   3) ObjectControl_Deactivate
@#**********************************************************************************************
Implements ObjectControl

Dim objOC As ObjectContext

Public Sub Something()
    @#This is a user-defined procedure/method
    @#The ObjectContext Object is returned by GetObjectContext
    
    On Error GoTo Abort
    
    @#*******************************************************
    @#       Perform whatever you want in this area
    @#       Visual Basic 6 stuff goes here
    @#       The Something() procedure/method is just
    @#       an example - you may use properties and other
    @#       methods/procedures as well!
    @#*******************************************************
    
Finished:
    objOC.SetComplete
        Exit Sub
Abort:
    objOC.SetAbort
        Err.Raise Err.Number, Err.Source, Err.Description
        Exit Sub
End Sub

Private Sub ObjectControl_Activate()
    @#MTS invokes this procedure/method when the component/object is instantiated
    Set objOC = GetObjectContext()
    Exit Sub
End Sub

Private Function ObjectControl_CanBePooled() As Boolean
    @#This enables MTS object pooling (not currently supported my MTS 2.0)
    ObjectControl_CanBePooled = True
End Function

Private Sub ObjectControl_Deactivate()
    @#MTS invokes this procedure/method right before the component/object is released
    Set objOC = Nothing
    Exit Sub
End Sub

原文转自:http://www.ltesting.net