Hola webmasterplc.
Código Delphi
[-]
procedure RecordToBlob(Rec: RegFormaDePago; Blob: TBlobField);
var
Stream: TMemoryStream;
begin
Stream:= TMemoryStream.Create;
try
Stream.WriteBuffer(Rec, SizeOf(Rec));
Stream.Seek(0, soFromBeginning);
Blob.LoadFromStream(Stream);
finally
Stream.Free;
end;
end;
procedure BlobToRecord(var Rec: RegFormaDePago; Blob: TBlobField);
var
Stream: TMemoryStream;
begin
ZeroMemory(@Rec, SizeOf(Rec));
Stream:= TMemoryStream.Create;
try
Stream.SetSize(SizeOf(Rec));
Blob.SaveToStream(Stream);
Stream.Seek(0, soFromBeginning);
Stream.ReadBuffer(Rec, SizeOf(Rec));
finally
Stream.Free;
end;
end;
Ejemplos de llamada:
Código Delphi
[-]
procedure TForm1.aBlobClick(Sender: TObject);
var
R: RegFormaDePago;
begin
...
RecordToBlob(R, TBlobField(DataSet.FieldByName('CPBLOB')));
...
end;
procedure TForm1.ARecordClick(Sender: TObject);
var
R: RegFormaDePago;
begin
...
BlobToRecord(R, TBlobField(DataSet.FieldByName('CPBLOB')));
...
end;
Saludos.