Страница 1 из 1

Табличные параметры

Добавлено: Пт 28 сен 2018 09:35
WildFrag
Плотно работаю с табличными параметрами и столкнулся с одной весьма неудобной вещью.

Создается объект TMSTableData, прописываем тип на сервере, открываем заполняем.
Затем присваиваем ParamByName('xxx').asTable:= TMSTableData.Table
Затем все открываем и все замечательно работает, НО, если перед открытием запроса объект TMSTableData будет например
удален, то запрос не выполнится и получим ошибку. Тут как бы все логично, идет ссылка на уже несуществующий в памяти объект.
Но в случае когда мы динамически работаем с запросами использующими табличные параметры приходится городить связи между самим TMSQuery и всеми табличными объектами тоже созданными в рантайме.
Т.е хочется какой-то метод который загрузит данные из TMSTableData в табличный параметр после чего может быть безопасно убит, а запрос будет преспокойно открываться и работать. В идеале вообще чтобы TMSTableData был встроен в TMSParam и не требовалось городить связки объектов.

Re: Табличные параметры

Добавлено: Вт 02 окт 2018 11:39
Stellar
Для загрузки данных из TMSTableData в табличный параметр необходимо будет продублировать данные, что приведет к потере производительности и увеличению используемой памяти приложения. Поэтому, мы не видим целесообразности подобного решения.
Вы можете попробовать добавить тег в TMSTableData, который будет признаком, можно ли удалять объект TMSTableData.

Re: Табличные параметры

Добавлено: Вт 02 окт 2018 12:08
WildFrag
В принципе я просто написал наследника на TMSQuery :)

Re: Табличные параметры

Добавлено: Пт 05 окт 2018 16:02
Stellar
Рады слышать, что проблема решена. Если у вас возникнут вопросы по использованию наших компонентов - обращайтесь.