Tecnobyte Informática

Delphi - ClientDataSet

Invalid BLOB handle in record buffer. O que pode ser?

No Delphi 7 o código abaixo gera este erro:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ClientDataSet1.Close;
  ClientDataSet1.FieldDefs.Clear;
  ClientDataSet1.FieldDefs.Add('Texto', ftMemo);
  ClientDataSet1.CreateDataSet;
  ClientDataSet1.LogChanges := False;
  ClientDataSet1.Append;
  ClientDataSet1.FieldByName('Texto').AsString := 'Teste';
  ClientDataSet1.Post;
  ClientDataSet1.Edit;
  ClientDataSet1.FieldByName('Texto').Clear;
  ClientDataSet1.Cancel;
  ClientDataSet1.Close;
end;
Provavelmente é devido a algum bug na classe TClientDataSet, mas neste caso específico o erro pode ser evitado deixando a propriedade LogChanges como True.