Ресурсный файл увеличивается при каждой перекомпиляции

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Zver »

Уважаемые форумчане!

Заметил, что при каждой перекомпиляции одного из проектов размер получаемого ресурсного файла увеличивается на 20 кб.
10 раз перекомпилировал - увеличился на 200 кб. Зависимость явно линейная.

Все интерфейсы, описанные в ресурсе, работают правильно.

Но такая ситуация настораживает. Является ли такое поведение нормальным или срочно нужно предпринимать меры?

С чем это может быть связано?

Может поможет, вот код проекта:

Код: Выделить всё

#define ComponentVersion
#define  ATL51
#define GAL7_11
#define GAL7_12
#define GAL8_1
#include Defs.inc
#define __Configurator__ // константы конфигуратора
#define __MnPlan__ // константы мнплана
#define __UseExcel__ // константы Excel
#define __AutoMark__ // для автомаркировки
!#include dictypes.def      // типы
#include glovars.inc
!#include GloDefs.inc
#include GalConstants.inc
!#include galaktika.vil
#include UsedVil.inc
#component "EPA_Rep"
!#define __DEBUG__
#ifdef __DEBUG__
  #define log(s)  fpLog(#s)
#else
  #define log(s)
#end
// Галактические объектные фейсы
const
#include EP.inc
end;
!#include objintpl.vin
#include xlReport.Vih
#include xlSetUp.Vih
#include Marker.vih
#include UserReport.vih

type FioRec = record
 Otk_Fio : string;
 Otp_Fio : string;
 Pol_Fio : string;
end;

type LabelRec = record
 Otk_Label : string;
 Otp_Label : string;
 Pol_Label : string;
end;

const
// coKatPodr    = word(1413); oO нафига это тут?
 cnsOtk_Class = 'ОТК';
 cnsKld_Class = 'Кладовщик';
 cnsRaz_Class = 'ОТК'; // пока так, что дальше - видно будет
 cnsOtk_Label = 'Принято ОТК';
 cnsOtp_Label = 'Отпустил';
 cnsPol_Label = 'Получил';
 cnsRaz_Label = 'Отпуск разр.';
 cnsNo_Label  = 'Отсутствует';

 PRIKAZ_ATTRNAME_PROEKT : String[6] = 'Проект'; // Атрибут "Проект" к таблице PRIKAZ

end;

#include FIOChoice.vih;

#make 'KatMcReport.vip'

#include VidnejWithDopFields.vih
#make 'VidnejWithDopFields.vip'
#make 'VidnejWithDopFields.frm'

#component 'L_SKLAD'
#include RetMatByHold.vih
#make 'RetMatByHold.frm'
#make 'RetMatByHold.vip'

#component 'L_SklRep'
#include AllBranchRemains.vih
#include BranchHelper.vih
#make 'AllBranchRemains.frm'
#make 'AllBranchRemains.vip'
#make 'AllBranchRemains_UserRep.vip'

#component 'L_SklRep'
#include MatrixHelper.vih
#make 'MatrixHelper.vip'
#make 'SkladAndBuhSaldo.vip'
#make 'SkladAndBuhSaldo_UserRep.vip'

!#component 'F_BuhRep'
!#make 'CuAnalitikPick.vip'
!#make 'SverkaMC.vip'
/*
#include Src\DO\GETAvans.DLG
#make 'Src\DO\DO_sell_ep.frm'
#make 'Src\DO\DO_sell_ep_bezav.frm'
*/

#component 'L_Prices'
#include PriceList.vih
#include StringUtils.vih
#make 'PriceList.frm'
#make 'PriceList.vip'

const
  KATORG_CODE_FOR_SPEC_ATTR_NAME : string[33] = 'Код для специи по договору с РЭПХ';
end;
#component 'L_SoprDoc'
#make 'SoprDocFormSpecification.vip'
Программист-самоучка
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение edward_K »

Я предпочитаю грохать рес перед компиляцией, ибо. А заодно atlantis,res - спасает при обновлении, что не надо об этом вспоминать.
А так компилятор по умолчанию настроен компилировать только измененные фейсы, ну и видимо из-за особенностей упаковки пишет в конец . Вроде была опция сжать рес после компиляции.
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Zver »

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

Кроме того, увеличение размера ресурсного файла происходит и тогда, когда ни один файл исходного кода не был изменён, что странно.

Такое на других проектах не наблюдается.
Программист-самоучка
pk
Постоянный обитатель
Сообщения: 135
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва Связьтранснефть

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение pk »

Zver писал(а):В настройках проекта выбрано "Очищать ресурсы перед компиляцией".
У меня это перестало работать года 2 назад - слушайте опытных людей (edward_K), уничтожайте самостоятельно:)
С ув..
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Zver »

Понятно, теперь будем уничтожать сами.
Программист-самоучка
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Алексей »

я випером собираю всегда в один ресурс. стоит максимальное сжатие. не удаляю ресурс перед сборкой.
с размером всё ок. 5.4.43 на 8.10 сейчас.
LaaLaa

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение LaaLaa »

У компилятора есть опция: "сжимать ресурс посе компиляции" если она выключена элементы программы дописываются в конец ресурса а одноменные элементы остаются вначале
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Zver »

Скорее всего дело именно в этом.
В настройках проекта пункт "Сжимать ресурсы после компиляции" выделен серым цветом и выбрать его нельзя.
Что может мешать выбрать этот пункт?
Программист-самоучка
LaaLaa

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение LaaLaa »

Zver писал(а):Скорее всего дело именно в этом.
В настройках проекта пункт "Сжимать ресурсы после компиляции" выделен серым цветом и выбрать его нельзя.
Что может мешать выбрать этот пункт?
Хм. Че-то его залочили в последней версии - не понятно .
Это сжимать/не сжимать, дописывать ресурс это опции для VIP-профи. И специфичных задач взлома интерфейсов и отчетов Галатики.


Ставьте "Очищать ресурсы перед компиляцией". Будет всегда чистый ресурс без шлака от предыдущих компиляций. Работайте по простому.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Алексей »

а меня не устраивает очищать ресурс перед компиляцией. т.к. если в ресурсе 50 интерфейсов и я подправил только один, мне надо его пересобрать... или он почистить только тот интерфейс, который компилируется?
pk
Постоянный обитатель
Сообщения: 135
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва Связьтранснефть

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение pk »

LaaLaa писал(а):Ставьте "Очищать ресурсы перед компиляцией". Будет всегда чистый ресурс без шлака от предыдущих компиляций. Работайте по простому.
говорят, чужой опыт никогда никого ничему не учит;)
когда человек обыщется среди своих 50 интерфейсов, почему не работает модифицированный, то поймёт справедливость ваших слов.
С ув..
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Zver »

Zver писал(а):В настройках проекта выбрано "Очищать ресурсы перед компиляцией".

Кроме того, увеличение размера ресурсного файла происходит и тогда, когда ни один файл исходного кода не был изменён, что странно.

Такое на других проектах не наблюдается.
Вопрос был именно в том, что увеличение ресурсного файла происходит при включенной настройке "Очищать ресурсы перед компиляцией". Вот это и настораживает. При этом при каждой компиляции стабильно увеличивается на 20 кб.
Программист-самоучка
Bender
Местный житель
Сообщения: 251
Зарегистрирован: 02 мар 2009, 12:59
Откуда: ТопСофт
Контактная информация:

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Bender »

Zver писал(а): Вопрос был именно в том, что увеличение ресурсного файла происходит при включенной настройке "Очищать ресурсы перед компиляцией". Вот это и настораживает. При этом при каждой компиляции стабильно увеличивается на 20 кб.
Возможно данный параметр "перекрыт" в настройках компилируемых prj-файлах, проверьте. Как и говорил скоро выложу сборку, где включена доступность заблокированного параметра о сжатии.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Ресурсный файл увеличивается при каждой перекомпиляции

Сообщение Den »

у меня лично работает Compilers.ClearResource
Ответить