Skip to content

Problema com propriedade EncodeBase64BlobField #248

Open
@gdebesaitis

Description

A umas semanas percebi um grande problema no meu projeto. Ocorre que, na base de dados da empresa em que trabalho, existem cambos BLOB subtype BINARY que são usados como TEXT. Até ai tudo bem, pois no fim das contas a funcionalidade acaba sendo a mesma. Não temos problema nesse sentido. No entanto, ao usar o DataSet Serialize, reparei que cargas de JSON para Dataset usando métodos como o LoadFromJson e MergeFromJson faziam com que o texto contido na chave respectiva ao campo Blob Binary ficasse totalmente ou parcialmente desconfiguradas. Vasculhei os fontes do componente e encontrei a propriedade "DecodeBase64BlobField" como uma das disponíveis para se fazer a configuração como desejar usando o TDataSetSerializeConfig. Porém, apenas seta-la como false não resolveu, ficou faltando o "Encode". Reparei que não havia a opção de fazer a configuração pelo TDataSetSerializeConfig do "EncodeBase64BlobField" assim como existe com o Decode. Sendo assim fui obrigado a setar como false no Create do TDataSetSerialize na unit "DataSet.Serialize.Export". Fazendo isso meu problema foi resolvido. Dessa forma, cambos Blob do tipo binary ficam com o mesmo comportamento de campos Blob Text. Para o meu uso ficou ótimo. Gostaria de sugerir que seja possível fazer a configuração do EncodeBase64 assim como existe para o DecodeBase64. Caso contrário sempre que eu for atualizar o componente vou precisar lembrar de ir nos fontes e setar uma única property como false para que eu não tenha problema nos campos blob.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions