preload

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.