Hi,
I have a web application in C# .NET running against a Delphi server. However, there is a problem when using GUID parameters in this scenario. For example, when I do:
return (from c
in FDataAdapter.GetTable<FinanzaProAccount>()
where (c.Account_GUID == Guid.Parse(aAccount_GUID))
select c).FirstOrDefault();
I get the following exception in the web client:
Additional information: An exception occurred on the server: Error reading parameter aTableRequestInfoArray: Exception "EROException" with message "Exception "EROException" with message "Unsupported variant type "114" Not Supported" happens during reading field "Value"." happens during reading field "Parameters".
I had fixed this a while back in an older RO/DA version I was using as a server for this web app, and just had to include this fix in the 9.0.97.1245 version again, now that I’m updating the web app to run against a server using RO/DA 9.0.
Here is the fix in case it helps:
procedure TROStreamSerializer.ReadVariant(const aName: string; var Ref; ArrayElementId: integer);
var
...
lGUID: string;
begin
...
{ Array types }
...
{ GUID Type }
if ((vtype and $0072) = $0072) then begin
ReadGuid('', lGUID);
Variant(Ref) := lGUID;
Exit; // Done!
end;
{ Plain Types }
case vtype of
...
Thanks,
Arturo.