Example of error for Context.ReturnValue with Option Strict On
In equations, Context.ReturnValue
is used to
return the value to the parameter that is associated with the equation. The data type of
the return value is a string because:
- the return value must be used for every type of parameter (string, numeric, Boolean, etc)
- the actual data type of a parameter is a string
What has been said about ReturnValue
also
holds true for each of the parameter value functions (param
, tparam
, paramitem
, tparamitem
, valparam
). These functions return a string value.
The data type of the parameter value functions is a string; the scripting
engine interprets “param(“DENSITY”) + param(“FAT”)”
to
mean that you intend to concatenate two strings. To treat these values as numbers, you
must explicitly convert them to a numeric data type with CDbl
.
This example shows that validation fails with
Strict ON
and how it can be corrected. The original
param
function returns a
String
value which cannot be converted to the required
Double
.
Context.ReturnValue = param("DENSITY") + param("FAT")
This error is displayed.
Error of severity 0 on line 6: Option Strict On disallows implicit
conversions from ‘String’ to ‘Double’.
The corrected function performs a conversion to a
DOUBLE
.
Context.ReturnValue = CDbl(param("DENSITY")) + CDbl(param("FAT"))