Сведения о вопросе

DUNKER

15:40, 7th August, 2020

Теги

delphi    

Спецификация агрегатов TClientDataSet не добавляется автоматически при создании поля агрегата

Просмотров: 435   Ответов: 2

Мне нужно создать агрегатное поле в TClientDataSet, но, как сказано в документах:

Выберите OK. Вновь определенный агрегат поле автоматически добавляется в поле клиентский набор данных и его агрегаты свойство автоматически обновляется до включите соответствующий агрегат спецификация.

Когда я добавляю новое поле aggregate, спецификация aggregate не добавляется к агрегатам TClientDataSet, поэтому я не могу использовать его OnUpdateMethod.

Я также попытался обработать событие OnChange моего нового агрегатного поля, но оно вообще не запускается.

Я делаю что-то не так? Я просто хочу иметь агрегированное поле и запускать событие, все это изменение значения.

Это сломано на delphi? Потому что то, что есть в документации, не отражает фактического поведения.

правка: @Michal Sznajder Я использую Delphi 2007



  Сведения об ответе

prince

21:10, 12th August, 2020

Я думаю, что вы можете запутаться между объектами TAggregate и TAggregateField, и документация Delphi, вероятно, не помогает.

AFAICT, TAggregateField объекты автоматически 'recalculated' и могут быть привязаны к элементам управления с поддержкой данных, таким как TDBText, но не имеют события OnUpdate.

С другой стороны, объекты "TAggregate" имеют событие OnUpdate, но не могут быть привязаны к элементам управления с поддержкой данных.

Это может быть поучительно: http://dn.codegear.com/article/29272


  Сведения об ответе

LAST

20:41, 10th August, 2020

Какая версия Delphi ? Я только что попробовал очистить приложение D7, и было добавлено TAggregateField.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться