⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsstepmanager.cls

📁 欢迎您使用审批系统!该系统主要面向银行内部人员,但也为客户提供一些信息." 登陆,注册和管理员入口"项目专为银行内部人员设计."客户登陆,注册,贷款须知和预约"项目专为客户设计.客户可通过这些窗口浏览
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsStepManager"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit

Const ERROR_SOURCE = "clsWorkflowManager"

Implements ObjectControl

Private m_objContext As ObjectContext

Private Sub ObjectControl_Activate()
    ' Get a reference to the object's context here,
    ' so it can be used by any method that may be
    ' called during this activation of the object.
    Set m_objContext = GetObjectContext()
End Sub
Private Function ObjectControl_CanBePooled() As Boolean
    ' This object should not be recycled,
    ' so return false.
    ObjectControl_CanBePooled = False
End Function
Private Sub ObjectControl_Deactivate()
    ' Perform any necessary cleanup here.
    Set m_objContext = Nothing
End Sub

Public Function processStep(sProcedureXML As String) As String

  Dim xmlDoc As MSXML.DOMDocument
  Dim xmlStartNode As MSXML.IXMLDOMNode
  Dim xmlNewNode As MSXML.IXMLDOMNode
  Dim sType As String
  Dim oProcWorker As IProcedureItem
  Dim oNextProc As IProcedureItem
  
  processStep = "Error"
  
  Set xmlDoc = New DOMDocument
  If xmlDoc.loadXML(sProcedureXML) Then
    Set xmlStartNode = xmlDoc.documentElement
    sType = xmlStartNode.selectSingleNode("Type").Text
        
    Select Case xmlStartNode.selectSingleNode("Type").Text
      Case "Response"
        Set oProcWorker = New clsResponseProcedure
      Case "Start"
        Set oProcWorker = New clsStartProcedure
      Case "Stop"
        Set oProcWorker = New clsStopProcedure
      Case "FYI"
        Set oProcWorker = New clsFYIProcedure
    End Select
    '在这里接受了用户的反应
    
    
    
    oProcWorker.Populate xmlDoc
    
    If oProcWorker.IsProcedureComplete Then
      oProcWorker.procedureStop
      
      Set oNextProc = oProcWorker.getNextProcedure
      '在得到的步骤实例里,
      
      If Not oNextProc Is Nothing Then
        oNextProc.procedureStart
      End If
      
      xmlDoc.documentElement.selectSingleNode("Message").childNodes.Item(1).Text = "Your response has been processed successfully. Thank you."
      
    Else
      xmlDoc.documentElement.selectSingleNode("Message").childNodes.Item(1).Text = "A required procedure was not completed."
    End If
    
  Else
    Dim strErrText As String
    Dim xmlPE As MSXML.IXMLDOMParseError
    
    Set xmlPE = xmlDoc.parseError
     With xmlPE
      strErrText = "Your XML Document failed to load" & _
          "due the following error." & vbCrLf & _
          "Error #: " & .errorCode & ": " & xmlPE.reason & _
          "Line #: " & .Line & vbCrLf & _
          "Line Position: " & .linepos & vbCrLf & _
          "Position In File: " & .filepos & vbCrLf & _
          "Source Text: " & .srcText & vbCrLf & _
          "Document URL: " & .url
      End With
End If

Set xmlPE = Nothing

processStep = xmlDoc.xml

End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -