打印本文 打印本文  关闭窗口 关闭窗口
用VB6创建MTS组件
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005/9/10 14:19:48
随便贴贴,学过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



打印本文 打印本文  关闭窗口 关闭窗口