Hello,
I'm having a strange issue with a dotnet variable with value NULL.
From an external web service we get info in NAV (2017 CU9), the type of variables we get are "Nullable Single". As NAV cannot handle these (I think) we have created a C# DLL (.Net framework 4.5) that converts the Nullable Single to a decimal value. This works fine if the Nullable Single has a value, but if it is NULL then NAV throws this error:
A call to MyDLL.ConvertNullableSingleToDouble failed with this message: The type of one or more arguments does not match the method's parameter type.
I have checked the type of the variable, and if it is not null the GETDOTNETTYPE() returns "System.Single". However if is NULL then GETDOTNETTYPE() returns "Microsoft.Dynamics.Nav.Runtime.NavDotNet".
This seems very strange behaviour, as the type should not change depending on its value.
Is there any way to solve this, besides checking with ISNULL? There are hundreds of calls to the C# function (including other nullable conversions), so checking for ISNULL everywhere would be a huge job.
PS: we already used this in NAV 2009 and this worked fine.
Kind regards,
Andy
I'm having a strange issue with a dotnet variable with value NULL.
From an external web service we get info in NAV (2017 CU9), the type of variables we get are "Nullable Single". As NAV cannot handle these (I think) we have created a C# DLL (.Net framework 4.5) that converts the Nullable Single to a decimal value. This works fine if the Nullable Single has a value, but if it is NULL then NAV throws this error:
A call to MyDLL.ConvertNullableSingleToDouble failed with this message: The type of one or more arguments does not match the method's parameter type.
I have checked the type of the variable, and if it is not null the GETDOTNETTYPE() returns "System.Single". However if is NULL then GETDOTNETTYPE() returns "Microsoft.Dynamics.Nav.Runtime.NavDotNet".
This seems very strange behaviour, as the type should not change depending on its value.
Is there any way to solve this, besides checking with ISNULL? There are hundreds of calls to the C# function (including other nullable conversions), so checking for ISNULL everywhere would be a huge job.
PS: we already used this in NAV 2009 and this worked fine.
Kind regards,
Andy