You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.7 KiB

VERSION 1.0 CLASS
BEGIN
MultiUse = 0 'False
Persistable = 0 'False
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
END
Attribute VB_Name = "WorkerProvider"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Description = "APE Worker Provider"
Option Explicit
Implements APEInterfaces.IWorkerProvider
Private moInitialErr As ErrObject 'Error that occurred during Class_Initialize
Public Function IWorkerProvider_GetWorker() As APEInterfaces.IWorker
Attribute IWorkerProvider_GetWorker.VB_Description = "Returns a new AEWorker.Worker instance."
'Raise error if error occured during Class_Initialize
If Not moInitialErr Is Nothing Then
Err.Raise Err.Number, , Err.Description
End If
Set IWorkerProvider_GetWorker = CreateObject("AEWorker.Worker")
End Function
Private Sub Class_Initialize()
'Make sure the AEWorker.Worker Class is registered
'local because AEClient may have run on machine
'previously. It could leave AEWorker.Worker registered
'remote if it did not unload properly.
Dim oRacReg As RacReg.RegClass
Dim iResult As Integer 'Error return code
On Error GoTo Class_InitializeError
Set oRacReg = New RacReg.RegClass
iResult = oRacReg.SetAutoServerSettings(False, "AEWorker.Worker")
If iResult > 0 Then
'Error occurred in RacReg
Err.Raise giRACREG_ERROR + vbObjectError, , ReplaceString(LoadResString(giRACREG_ERROR), gsNAME_TOKEN, LoadResString(iResult + giRACREG_ERROR_CODE_OFFSET))
End If
Exit Sub
Class_InitializeError:
Set moInitialErr = Err
End Sub