RAD Studio VCL Reference
|
TVarBytesField represents a variable-length untyped binary field in a dataset.
TVarBytesField = class(TBytesField);
class TVarBytesField : public TBytesField;
A variable bytes field value is a set of bytes of variable size, with the actual length of the value stored in the first two bytes.
If you use the Fields editor at design time to create a persistent field component for the variable bytes field, you can access it by name at runtime. When using dynamic field components, you can access the TVarBytesField instance using the dataset's Fields property or FieldByName method.
Delphi Examples:
{ This example requires a button, a test edit, and a populated ClientDataSet. Pipe the ClientDataSet through a DataSource to a DGGrid or DBNavigator to control the current field. Cast the data correctly according to the field type when assigning to the test edit. } {$IFNDEF UNICODE} uses SwSystem; {$ENDIF} procedure TForm1.Button1Click(Sender: TObject); var MyBuffer: Pointer; begin { Retrieve the "raw" data from Field1 } with CDS.Fields[0] do begin if not IsBlob then { this does not work for BLOB fields } begin { Allocate space } MyBuffer:= GetMemory(DataSize); try if not GetData(MyBuffer) then MessageDlg(DisplayName + ' is NULL', mtInformation, [mbOK], 0) else { Do something with the data }; Edit1.Text:= string(PAnsiChar(MyBuffer)); // for a stringfield finally { Free the space } FreeMem(MyBuffer, DataSize); end; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin {$IFDEF UNICODE} CDS.LoadFromFile(GetCurrentDir + '\CDS.XML'); {$ELSE} CDS.LoadFromFile(gsAppPath + 'CDS.XML'); {$ENDIF} end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|