From 544c7d8dbb91d24bc9563201bfb648b2421ea990 Mon Sep 17 00:00:00 2001 From: lacak Date: Fri, 16 Nov 2012 12:59:57 +0000 Subject: [PATCH] fcl-db: add support for ftFixedWideChar and ftWideMemo into xmldatapacketreader. git-svn-id: trunk@22997 - --- packages/fcl-db/src/base/xmldatapacketreader.pp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/fcl-db/src/base/xmldatapacketreader.pp b/packages/fcl-db/src/base/xmldatapacketreader.pp index 595b935b42..c8375e7805 100644 --- a/packages/fcl-db/src/base/xmldatapacketreader.pp +++ b/packages/fcl-db/src/base/xmldatapacketreader.pp @@ -65,7 +65,7 @@ implementation uses xmlwrite, xmlread, base64; const - XMLFieldtypenames : Array [TFieldType] of String[15] = + XMLFieldtypenames : Array [TFieldType] of String[16] = ( 'Unknown', 'string', @@ -90,8 +90,8 @@ const 'bin.hex:Ole', 'bin.hex:Graphics', '', - 'string', - 'string', + 'string', // ftFixedChar + 'string', // ftWideString 'i8', '', '', @@ -105,8 +105,8 @@ const '', '', 'fixedFMT', - '', - '' + 'string', // ftFixedWideChar + 'bin.hex:WideText' // ftWideMemo ); resourcestring @@ -351,13 +351,13 @@ begin AField := Fields.FieldByNumber(FieldDefs[FieldNr].FieldNo); if (FieldDefs[FieldNr].DataType in [ftBlob, ftBytes, ftVarBytes]) and (s <> '') then s := DecodeStringBase64(s); - if FieldDefs[FieldNr].DataType in [ftBlob, ftMemo] then + if FieldDefs[FieldNr].DataType in [ftBlob, ftMemo, ftWideMemo] then begin ABufBlobField.BlobBuffer:=ADataset.GetNewBlobBuffer; - AField.SetData(@ABufBlobField); ABufBlobField.BlobBuffer^.Size:=length(s); ReAllocMem(ABufBlobField.BlobBuffer^.Buffer,ABufBlobField.BlobBuffer^.Size); move(s[1],ABufBlobField.BlobBuffer^.Buffer^,ABufBlobField.BlobBuffer^.Size); + AField.SetData(@ABufBlobField); end else AField.AsString := s; // set it to the filterbuffer