[Lazarus-es] Problemas con caracteres unicode en TMemDataset

Ismael L. Donis Garcia slibre en natio.co.cu
Jue Abr 13 19:58:50 CEST 2017


El problema no es de la base de datos porque el mismo se puede reproducir sin uso de ella con el siguiente ejemplo:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, memds, db, FileUtil, Forms, Controls, Graphics, Dialogs,
  DBGrids;

type

  { TForm1 }

  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    MemDataset1: TMemDataset;
    procedure FormActivate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormActivate(Sender: TObject);
begin
 MemDataset1.FieldDefs.Add('nombre', ftString, 35);
 MemDataset1.Open;
 MemDataset1.Append;
 MemDataset1.FieldByName('nombre').AsString := 'Producción Agr.en Preceso - Del Año';
 MemDataset1.UpdateRecord;
 MemDataset1.Post;
end;

end. 


Como verás el grid solo te va a mostrar: Producción Agr.en Preceso - Del A

Sin embargo tengo una BD en Firebird 2.5 definido el campo como varchar(35) y el dato se puede salvar completo en la BD

Saludos Reiterados
========
| ISMAEL |
========
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170413/a157f2ab/attachment-0001.html>


Más información sobre la lista de distribución Lazarus-es