Как создать вычисляемые поля во время исполнения программы

Советы » Записи, индексы, поля, закладки » Как создать вычисляемые поля во время исполнения программы

Смотрите книгу "Developing Custom Delphi Components" от Рэя Конопки.

Здесь немного исправленный пример из этой книги -

function

TMyClass.CreateCalcField(const

AFieldName: string

; AFieldClass: TFieldClass; ASize: Word): TField; begin

Result := FDataSet.FindField(AFieldName); // Field may already exists! if

Result <> nil

then

Exit; if

AFieldClass = nil

then

begin

DBErrorFmt(SUnknownFieldType, [AFieldName]); end

; Result := FieldClass.Create(Owner); with

Result do

try

FieldName := AFieldName; if

(Result is

TStringField) or

(Result is

TBCDField) or

(Result is

TBlobField) or

(Result is

TBytesField) or

(Result is

TVarBytesField) then

begin

Size := ASize; end

; Calculated := True

; DataSet := FDataset; Name := FDataSet.Name + AFieldName; except

Free; // We must release allocated memory on error! raise

; end

; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2023 - All Rights Reserved - www.delphirus.com