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

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 23 Август 2018, 12:11
kreator
Обнаружил, что Кларион генерит описания таблиц. А в настройках App соответствующая галка отсутствует. Вроде не мешает. Но остаётся чувство, что при изменении словаря нужно компилировать все dll-ки. Зачем генерятся описания? Или зачем нужна соответствующая галка в свойствах App? С10, если что. Думаю и ранее было так.

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 23 Август 2018, 13:36
Yufil
Дык, если нет описания таблиц, как процедуры приложения могут быть откомпилированы, не располагая информацией о структуре таблиц? А что касается словаря - таки да, при изменении структуры данных в словаре перекомпилировать надо, если не хочется дополнительных проблем...

К счастью, СW10 позволяет перекомпилировать solution с полпинка...

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 23 Август 2018, 16:54
Игорь Столяров
Позвольте не согласиться …
Если в таблица (и связанные с ней таблицы) не используются в DLL - то её описание не генерится в DLL.
Проверил на нескольких проектах. Однозначно.
И не надо регенерить DLL, если меняются не используемые в ней таблицы. Разве, что в качестве фитнеса ... ;)
Картинку с настройками таблиц в DLL - прилагаю.

Рис1.jpg

Но ! У меня не SQL .... хотя разницы быть не должно.

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 23 Август 2018, 19:36
Yufil
Что проще - сгенерить и откомпилить на всякий случай или выяснять, нужно ли это? А потом долго и мучительно искать DLL, у которой описание структуры данных неадекватно...

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 23 Август 2018, 20:05
Игорь Столяров
Yufil писал(а): 23 Август 2018, 19:36на всякий случай или выяснять
Действовать надо по обстановке, конечно. :)
Здесь главный вопрос в том, что при отключенной опции "Generate All Files .." в DLL не должно быть описаний таблиц,
которые в ней не используются ... или они привязаны в APP неправильно (например к Source процедурам). Как-то так ...

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 23 Август 2018, 23:37
Yufil
Но тогда приходится решать вопрос - какие именно app надо пересобрать после изменения словаря. Учитывая всякие Referential Integrity и разнообразные ссылки на поля и структуры записи. Не, если app несколько и словарь изменился - то строго обязательная пересборка. Дабы и во избежание!

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 9:32
RaFaeL
В чем проблема все пересобрать при изменении словаря? Так часто меняете словарь?
Кстати, если словарь приходится часто менять, значит в организации программы что-то не то

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 10:06
kreator
Игорь Столяров писал(а): 23 Август 2018, 16:54 Если в таблица (и связанные с ней таблицы) не используются в DLL - то её описание не генерится в DLL.
Проверил на нескольких проектах. Однозначно.
Неоднозначно! Поэтому и вопрос. Есть маленькая dll-ка (с ограниченным функционалом, очень легко проверить), где вижу описания таблиц, заведомо неиспользуемые в ней. Кларион генерит описания абы как. Вернее - не понимаю логики генерации. Можно предположить, что ещё генерятся таблицы по связям, но тогда бы практически весь словарь там был бы. А это не так.
RaFaeL писал(а): 24 Август 2018, 9:32 В чем проблема все пересобрать при изменении словаря? Так часто меняете словарь?
Кстати, если словарь приходится часто менять, значит в организации программы что-то не то
Словарь меняем достаточно часто. И dll многовато. Функционал меняется и добавляется постоянно. Таблицы, поля и т.д. на перспективу не создаём. Вы создаёте? Другой вопрос - организация выпуска обновлений. А есть в природе примеры работы с Solution? Как-то пробовал в него включить несколько App, при компиляции ругань вообще непонятно откуда и непонятно на что. Создал бы общий Solution, пересобирал бы всё сразу, когда надо. Есть ещё вопрос по очерёдности компиляций dll. С этим как?

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 10:14
RaFaeL
У нас к каждому скажем так основному объекту прилагается табличка вида "номер объекта - номер доп. параметра - значение доп. параметра", пользователи сами туда добавляют что хотят, поэтому словарь меняем только если уж ну очень надо (последний раз меняли год назад). По компиляции в С10 не подскажу .у нас С63, для него при пересборке используем некую утилиту CMP60, там порядок задается

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 11:45
Yufil
kreator писал(а): 24 Август 2018, 10:06
Игорь Столяров писал(а): 23 Август 2018, 16:54 Если в таблица (и связанные с ней таблицы) не используются в DLL - то её описание не генерится в DLL.
Проверил на нескольких проектах. Однозначно.
Неоднозначно! Поэтому и вопрос. Есть маленькая dll-ка (с ограниченным функционалом, очень легко проверить), где вижу описания таблиц, заведомо неиспользуемые в ней. Кларион генерит описания абы как. Вернее - не понимаю логики генерации. Можно предположить, что ещё генерятся таблицы по связям, но тогда бы практически весь словарь там был бы. А это не так.
RaFaeL писал(а): 24 Август 2018, 9:32 В чем проблема все пересобрать при изменении словаря? Так часто меняете словарь?
Кстати, если словарь приходится часто менять, значит в организации программы что-то не то
Словарь меняем достаточно часто. И dll многовато. Функционал меняется и добавляется постоянно. Таблицы, поля и т.д. на перспективу не создаём. Вы создаёте? Другой вопрос - организация выпуска обновлений. А есть в природе примеры работы с Solution? Как-то пробовал в него включить несколько App, при компиляции ругань вообще непонятно откуда и непонятно на что. Создал бы общий Solution, пересобирал бы всё сразу, когда надо. Есть ещё вопрос по очерёдности компиляций dll. С этим как?
Так несколько app и надо включать. Открываешь закладку Solution Explorer и добавляешь то, что надо. А дальше открываешь закладку Applications ( если нет, то надо открыть ),
там справа сверху есть две кнопочки "Modify generation order " и "Sort By Generation Order". Вот они и позволяют ручками задать зависимости APP и отсортировать. И там же сверху удобные кнопочки типа Make All или Generate All, всё достаточно удобно...

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 12:40
finsoftrz
Была известная раньше и канувшая ныне украинская фирма, писавшая финансовый софт на кларионе. Если мне память не изменяет, у них все на 7 таблицах крутилось. Есть планка для роста. :-)
А вообще, проблем с изменениями в словаре, быстрой пересборкой и автоматическими обновлениями у клиентов давно нет, в том числе и на clarion6.

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 12:49
Игорь Столяров
finsoftrz писал(а): 24 Август 2018, 12:40Если мне память не изменяет, у них все на 7 таблицах крутилось.
Я лет десять назад проходил собеседование в одну софтверную фирму, так у них торговая программа была на 3-х таблицах в SQL:
1. Настройки и юзеры;
2. Товары и контрагенты (!!!) - в ней же классификаторы ассортимента, единицы измерения, банки контрагентов и т.д.
3. Документы (вообще все, включая содержание накладных, кассу, выписки из банка и т.д.).

На собеседовании они просили написать одним запросом отчёт за период по продажам товаров контрагентам. Жесть ! :idied:

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 13:02
finsoftrz
И что, написали? :-)

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 13:03
Игорь Столяров
finsoftrz писал(а): 24 Август 2018, 13:02И что, написали?
Легко ! :) Но судя по тому, что сижу тут с Вами - неправильно. :idied:

Генерация описаний файлов/таблиц в multi-dll проекте

Добавлено: 24 Август 2018, 13:11
finsoftrz
Сейчас придет Рафаэль и скажет, вы все трупы... Зато у нас весело, не правда ли? :-)