用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