madorin / fibplus

FibPlus Library for Delphi and C++Builder. Data access components for Firebird & Interbase.
168 stars 58 forks source link

Не работает CreateCalcFields #10

Open bvsoft opened 7 years ago

bvsoft commented 7 years ago

Приветствую! Перед открытием данных в TpFibDataset создаем калькулируемые поля через CreateCalcField. Но после открытия датасета обнаруживаем, что в нем нет никаких полей, кроме созданных калькулируемых. Обнаруживаем также, что вообще все создаваемые нами объекты TpFibDataset имеют DefaultFields значение false, отсюда в CreateCalcFields не срабатывает код:

if DefaultFields then Include(FRunState,drsForceCreateCalcFields);

из-за этого в открываемом датасете в TFIBCustomDataSet.InternalOpen не срабатывает

if drsForceCreateCalcFields in FRunState then Exclude(FRunState,drsForceCreateCalcFields); CreateFields; SetDefaultFields(True); ....

если же в TFibCustomDataset исправить

property qDefaultFields:boolean read GetDefaultFields ;

на исходное

property DefaultFields:boolean read GetDefaultFields ;

то конкретно ЭТА проблема решится. Но не зря ж там это "q" поставили.... Проблема!