Data.DB.TIDispatchField.Create

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

constructor Create(AOwner: TComponent); override;

C++

__fastcall virtual TIDispatchField(System::Classes::TComponent* AOwner);

Properties

Type Visibility Source Unit Parent
constructor public
Data.DB.pas
Data.DB.hpp
Data.DB TIDispatchField

Description

Creates and initializes an IDispatch field component.

Most applications do not explicitly create instances of TIDispatchField. Instead, the field components are created automatically, as persistent field components defined in the Fields editor at design time or as dynamic field components created automatically by the dataset.

Create sets the DataType property to ftIDispatch. The AOwner parameter specifies the component, typically a dataset, that becomes the new field's Owner. The Owner is responsible for freeing the component.

In the rare cases when you must create a persistent field component at runtime, call Create to create and initialize an instance of TIDispatchField. After instantiating a TIDispatchField, associate it with a specific field by setting its FieldName property to the name of the field. Give the TIDispatchField a unique identifier in the Name property. Establish where the field appears in the collection of fields by providing an ordinal number in the Index property. Associate the TIDispatchField with a dataset component by setting its DataSet property.

The example below creates a TIDispatchField object for a field named IDispatch accessed through a TQuery named Query1.



var
T: TIDispatchField;
begin
Query1.Close;
T := TIDispatchField.Create(Query1);
T.FieldName := 'IDispatch';
T.Name := Query1.Name + T.FieldName;
T.Index := Query1.FieldCount;
T.DataSet := Query1;
Query1.FieldDefs.UpDate;
Query1.Open;
end;



TIDispatchField *T;
Query1->Close();
T = new TIDispatchField(Query1);
T->FieldName = "IDispatch";
T->Name = Query1->Name + T->FieldName;
T->Index = Query1->FieldCount;
T->DataSet = Query1;
Query1->FieldDefs->UpDate();
Query1->Open();



See Also