Clone/Copy/Release Dictionary Parameters (QTP, TestComplete, VBScript)

Posted by Albert Gareev on Jan 14, 2009 | Categories: Associative ArraySource code

Parent page: Service Functions – Dictionary (QTP, TestComplete, VBScript)

Description

1. Clone Dictionary object with all parameters

2. Copy parameters from one Dictionary to another

3. Release objects associated to Dictionary keys

Implementation

CloneParameters

Public Function CloneParameters(ByRef objSource)
  Dim objDest, Iter, dvKeys
  Set objDest = CreateObject("Scripting.Dictionary")
	If TypeName (objSource) <>  "Dictionary" Then
	   Set CloneParameters = objDest
	   Exit Function
	End If
  dvKeys = objSource.Keys()
  For Iter = 0 To UBound(dvKeys)
		objDest.Item(dvKeys(Iter)) = objSource.Item(dvKeys(Iter))
  Next
  Set CloneParameters = objDest
End Function

CopyParameters

Public Function CopyParameters(ByRef objSource, ByRef objDest)
  Dim Iter, dvKeys
	If TypeName (objDest) <>  "Dictionary" Then
	   Set objDest = CloneParameters(objSource)
	   Set CopyParameters = objDest
	   Exit Function
	End If
	If TypeName (objSource) <>  "Dictionary" Then
	   Set CopyParameters = objDest
	   Exit Function
	End If
  dvKeys = objSource.Keys()
  For Iter = 0 To UBound(dvKeys)
		objDest.Item(dvKeys(Iter)) = objSource.Item(dvKeys(Iter))
  Next
  Set CopyParameters = objDest
End Function

ReleaseParameters

'Note. Use to release Object type parameters
Public Function ReleaseParameters(ByRef objSource)
  Dim Iter, dvKeys
	If TypeName (objSource) <>  "Dictionary" Then
	   Exit Function
	End If
  dvKeys = objSource.Keys()
  For Iter = 0 To UBound(dvKeys)
		Set objSource.Item(dvKeys(Iter)) = Nothing
  Next
End Function

Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
This work by Albert Gareev is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported.