首页 > 开发 > 综合 > 正文

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

2024-07-21 02:15:40
字体:
来源:转载
供稿:网友
'随便贴贴,学过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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表