Доброго времени суток. Подскажите пожалуйста такой вопрос: Разрабатываю интерфейс, хочу выгрузить данные из интерфейса в таблицу в памяти. Есть ли возможность обратиться к этой таблице из frm формы? Структура prj:
в TablesForUPLMC.tbl - структура, в интерфейс Замены МЦ.vip идёт запись данных в таблицу, в КатМЦ_Замена МЦ(УПЛ).frm хотелось бы использовать данные...
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
в проекте прописал #include "g:\Рабочая папка\TablesForUPLMC.tbl"
в интерфейсе записал данные в таблицу, закрываю интерфейс, потом идёт запрос из frm файла:
Если вы закроете все фейсы, которые открыли таблицу в памяти, она уничтожится.
Чтобы этого не произошло, следует увеличить счётчик ссылок на таблицу: function mtChangeRefCount(iTable, iCount: integer): longInt;
После окончания работы с таблицей, соответственно установить значение счётчика на 0.
Второй способ: запускать сначала frm, в которой через runinterface запускать фейс, который заполнит ТП;
Третий способ: табличные объекты/врапперы;
Четвёртый способ: sqlCreateTmpTableAs + ReinitTableAsTmp(позволит ТП превратить в полноценную таблицу, как будно она существует в словаре)
Последний раз редактировалось KVS 28 ноя 2023, 17:47, всего редактировалось 2 раза.
но вот что интересно, код сам запускается из каталога МЦ. когда я помечаю одну позицию и запускаю код, проявляется эта проблема. но если я помечаю несколько позиций, то начиная со второй позиции всё работает нормально! т.е. запускается ещё раз интерфейс, записываю даттые в таблицу в памяти, и потом в frm они видны... а с первой позицией что-то не так...
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Посмотрите заполнение ТП. Возможно, у Вас стоят какие-то условия на вставку записей. Можно параллельно вывести в протокол все записи, которые вставляете в ТП.