TZQuery does not generate a change of text blob field by TWideMemo->TWideMemoField when new string length small or equal to old value
DB Firebird 2.5, Protocol ODBC
Try to change text in Memo
from
S:\projects_flutter\dataview\dataview\config\111
to
S:\projects_flutter\dataview\dataview\config\11
The same problem is with:
TDBMemo, MariaDB, Lazarus
The old longer text is not deleted.
Hi,
I see that
TZVarVarLenDataRefStream.Writeis not callled fromTStream.WriteBuffer, and so FUpdated stays false, if blob is larger then FUpdated is changed byTZVarVarLenDataRefStream.Realloc.TStream.WriteBufferexecutes at line
LTotalCount := Write(Buffer, Count);function
TMemoryStream.Write(const Buffer; Count: TNativeCount): TNativeCount;instead of overriden
TZVarVarLenDataRefStream.WriteI even changed declaration of TZVarVarLenDataRefStream.Write to match TMemoryStream called version
function Write(const Buffer; Count: TNativeCount): TNativeCount; override;but it didn't help
Delphi13 and compiling for 64-bit.
Hope it helps
for me problem only occurs for 64bit target and it seams like changing
TZCodePageConversionStream.writetosolved problem for MySQL under delphi 13, target 64bit