It all depends how you interpret the word: used.
In any case the posted code is flawed as the actual variable passed (oVar) is not changed as intended.
Sub UpdateSettingAndKVS(strVarKey As String, oVar As Object, oVal As Object) 'ignore
If strVarKey = "Enums.strDialogButtonTextColour" Then
Log("Before, Enums.strDialogButtonTextColour: " & Enums.strDialogButtonTextColour)
Log("Before, oVar: " & cMP.CStr(oVar))
Log("Before, oVal: " & cMP.CStr(oVal))
End If
oVar = oVal
cMP.UpdateKVS(strVarKey, oVal)
If strVarKey = "Enums.strDialogButtonTextColour" Then
Log("After, Enums.strDialogButtonTextColour: " & Enums.strDialogButtonTextColour)
Log("After, oVar: " & cMP.CStr(oVar))
Log("After, oVal: " & cMP.CStr(oVal))
End If
End Sub
Used like this:
UpdateSettingAndKVS("Enums.strDialogButtonTextColour", Enums.strDialogButtonTextColour, "255,255,165,0")
The log will show:
Before, Enums.strDialogButtonTextColour: 255,255,165,200
Before, oVar: 255,255,165,200
Before, oVal: 255,255,165,0
After, Enums.strDialogButtonTextColour: 255,255,165,200
After, oVar: 255,255,165,0
After, oVal: 255,255,165,0
So the variable I wanted to change (Enums.strDialogButtonTextColour) has not changed, so this was faulty code.
So, the warning was good, but perhaps for a different reason.
RBS