Страница 1 из 1
DCT - ограничения
Добавлено: 14 Июнь 2024, 19:44
gopstop2007
Кто знает есть какие то ограничения в Dictonary на количество таблиц, полей и ли еще чего?
Добавляю новую таблицу получаю ошибку, удаляю таблицу, ошибка пропадает
Таблиц около 400
C10, ABC
DCT - ограничения
Добавлено: 14 Июнь 2024, 21:31
Игорь Столяров
gopstop2007 писал(а): 14 Июнь 2024, 19:44
в Dictonary на количество таблиц
По идее такого ограничения быть не должно - Вы ведь можете добавить таблицу в словарь.
А вот на кол-во таблиц подключаемых к проекту вполне может быть ограничение (255 ?) ...
Я бы попробовал ВЫКЛЮЧИТЬ опцию в APP "Global Properties -> File Control -> Generate All File declarations"
(это тупо все таблицы из словаря) и ВКЛЮЧИТЬ в индивидуальных настройках только генерацию описаний
для реально используемых в проекте таблиц.
DCT - ограничения
Добавлено: 15 Июнь 2024, 18:04
kreator
Я сомневаюсь, что в словаре дело. Сталкивался примерно с таким при импорте процедуры в App. У Вас мульти-dll?
DCT - ограничения
Добавлено: 17 Июнь 2024, 10:05
gopstop2007
kreator писал(а): 15 Июнь 2024, 18:04
Я сомневаюсь, что в словаре дело. Сталкивался примерно с таким при импорте процедуры в App. У Вас мульти-dll?
Да, мульти-dll и как решили проблему?
DCT - ограничения
Добавлено: 17 Июнь 2024, 21:48
RaFaeL
В С6 было ограничение в 640К на размер модуля с описанием таблиц. Победить не удалось. Должно было лечиться разбивкой этого модуля на несколько (где-то есть такая галочка) но не взлетело. Но то про С6, в С7 и выше уже не должно было быть такого ограничения. В итоге просто почистили словарь от лишнего, особенного большой эффект от удаления неиспользуемых алиасов, так как на каждый алиас генерится полное описание
DCT - ограничения
Добавлено: 18 Июнь 2024, 19:59
kreator
gopstop2007 писал(а): 17 Июнь 2024, 10:05
kreator писал(а): 15 Июнь 2024, 18:04
Я сомневаюсь, что в словаре дело. Сталкивался примерно с таким при импорте процедуры в App. У Вас мульти-dll?
Да, мульти-dll и как решили проблему?
Если совсем тяжёлый случай, можно попробовать в другую dll (App) засунуть процедуру. Ещё помогает выгрузка проблемной процедуры в txa, удаление её из App, и заново загрузка из txa.
DCT - ограничения
Добавлено: 19 Июнь 2024, 12:39
Ал
В новой таблице префикс, имя по-другому написать?
DCT - ограничения
Добавлено: 04 Июль 2024, 11:41
gopstop2007
Ал писал(а): 19 Июнь 2024, 12:39
В новой таблице префикс, имя по-другому написать?
было сделано в первую очередь (
DCT - ограничения
Добавлено: 10 Октябрь 2024, 13:59
gopstop2007
Апну тему, может кому то поможет.
Вопрос решился только пересозданием нового app + dct и ручным переносом всего, что было в этом app и dct.
Экспорт и импорт из апп и диктонари не помог, проблема оставалась.
Постараюсь пошагово рассказать, что делал
Файлов в dct - 515, и глобальных полей более 1000.
1. Проверил весь список Таблиц и файлов на наличие в названии букв из другой кодировки. Для этого использовал
http://symbol.num2word.ru/
Результат: нашел несколько файлов в которых использовались символ - `С` в кирилик
Исправление не дало результатов, проблема осталась.
2. Создал новый app и скомпилировал его с исправленным dct,нет проблемы.
Добавил все темплейты, после компиляции, проблемы нет.
Результат, размер файла dct остался таким же, а app
уменьшился в два раза!
P.S. Решил пойти дальше, написал маленькую программу, которая проверяет использование файлов и полей программе, чтобы убрать "мертвые души".
DCT - ограничения
Добавлено: 10 Октябрь 2024, 14:22
Игорь Столяров
gopstop2007 писал(а): 10 Октябрь 2024, 13:59
Вопрос решился только пересозданием нового app + dct и ручным переносом всего, что было в этом app и dct
Это огромный объём работ без нахождения причины проблемы !
Т.е. всё может переклинить в любой момент и опять ручной перенос всего ?
gopstop2007 писал(а): 10 Октябрь 2024, 13:59
чтобы убрать "мертвые души".
Для этих целей есть опция компиляции:
Код: Выделить всё
wdnu=>1 ! Вставка в Project для показа неиспользуемых переменных
Хотя у Вас конечно красивее и с интерфейсом.

DCT - ограничения
Добавлено: 10 Октябрь 2024, 14:38
gopstop2007
Игорь Столяров писал(а): 10 Октябрь 2024, 14:22
gopstop2007 писал(а): 10 Октябрь 2024, 13:59
Вопрос решился только пересозданием нового app + dct и ручным переносом всего, что было в этом app и dct
Это огромный объём работ без нахождения причины проблемы !
Т.е. всё может переклинить в любой момент и опять ручной перенос всего ?
Причина была как понял я в том "мусоре", который делал мой апп больше в два раза )
Игорь Столяров писал(а): 10 Октябрь 2024, 14:22
gopstop2007 писал(а): 10 Октябрь 2024, 13:59
чтобы убрать "мертвые души".
Для этих целей есть опция компиляции:
Код: Выделить всё
wdnu=>1 ! Вставка в Project для показа неиспользуемых переменных
Хотя у Вас конечно красивее и с интерфейсом.
wdnu - вроде только для локальных переменных, а как быть с файлами, которые вообще не используются, поля в этих файлах, глобальные. Когда в приложении апп больше 40, то это отслеживать мне одному сложно (
DCT - ограничения
Добавлено: 10 Октябрь 2024, 14:56
Игорь Столяров
gopstop2007 писал(а): 10 Октябрь 2024, 14:38
Причина была как понял я в том "мусоре", который делал мой апп больше в два раза )
Не факт ... Я просто через текст перегружаю APP в которых делается много изменений и их размер падает в 3-4 раза.
Хотя состав при этом вообще не меняется по сути. Возможно какое-то внутреннее нарушение структуры приложения ...
Или Вы где-то превысили какой-то предел (длина полей, кол-во таблиц, ключей, полей и т.д.) и после этого сборку проекта перекосило.
Но эта причина чётко не названа, а значит может случиться повторный заход на эти же грабли.

DCT - ограничения
Добавлено: 11 Октябрь 2024, 11:52
RaFaeL
Игорь Столяров писал(а): 10 Октябрь 2024, 14:22
Для этих целей есть опция компиляции:
Если много типизированных очередей, слишком много сообщений о "неиспользуемых" переменных (