Menu

Commit [r13094]  Maximize  Restore  History

C# runtime: date arithmetic, blob fetch, and two missing entry points

DateAdd and DateDiff. A DATE is a day count in 4GL - day 0 is 31 December 1899
- so adding a whole number adds days. C# has no operator for DateOnly against
an int and none can be added to a type we do not own, so the generator calls
these instead of writing the arithmetic inline.

GetData(out byte[]?, int) for BYTE and TEXT columns. The generator used to pass
the target by value, which could assign nothing. A driver may hand back either
bytes or a string, so a string is encoded rather than rejected - which is what
a program reading a TEXT column into a BYTE variable expects.

UI.ClearWindow: the protocol message existed and the entry point did not.

A report's COLUMN takes whatever the 4GL gave it, commonly a SMALLINT, rather
than requiring an int.

mikeaubury 2026-09-05

changed /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Report/BaseFGLReport.cs
changed /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/ASqlResult.cs
changed /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglBuiltins.cs
changed /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiApi.cs
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Report/BaseFGLReport.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Sql/ASqlResult.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Types/FglBuiltins.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiApi.cs Diff Switch to side-by-side view
Loading...