Ich habe in meinem Datasnap-Server dem entsprechenden Dataset mit dem Feldeditor ein Feld hinzugefügt (Name PlainText, BlobType ftMemo, FieldKind fkInternalCalc). Im OnCalcFields des Dataset steht momentan dieser Code:
Delphi-Quellcode:
procedure TServerMethods1.TexteTableCalcFields(DataSet: TDataSet);
var
RE: TRichEdit;
Stream, PlainStream: TStream;
begin
RE := TRichEdit.CreateParented(HWND_MESSAGE);
try
Stream := DataSet.CreateBlobStream(DataSet.FieldByName('Text'),
TBlobStreamMode.bmRead);
try
Stream.Seek(0, TSeekOrigin.soBeginning);
RE.PlainText := false;
RE.Lines.LoadFromStream(Stream);
RE.PlainText := true;
PlainStream := TStringStream.Create;
try
RE.Lines.SaveToStream(PlainStream);
PlainStream.Seek(0, TSeekOrigin.soBeginning);
(DataSet.FieldByName('PlainText') as TBlobField)
.LoadFromStream(PlainStream);
finally
PlainStream.Free;
end;
finally
Stream.Free;
end;
finally
RE.Free;
end;
end;
Damit ernte ich bei der Ausführung "Datenmenge weder im Editier- noch im Einfügemodus". Füge ich ein Dataset.Edit ein, enthält es keine Daten.