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

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

Добавлено: 14 янв 2014, 15:23
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'

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

Добавлено: 14 янв 2014, 15:56
edward_K
Я предпочитаю грохать рес перед компиляцией, ибо. А заодно atlantis,res - спасает при обновлении, что не надо об этом вспоминать.
А так компилятор по умолчанию настроен компилировать только измененные фейсы, ну и видимо из-за особенностей упаковки пишет в конец . Вроде была опция сжать рес после компиляции.

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

Добавлено: 14 янв 2014, 16:05
Zver
В настройках проекта выбрано "Очищать ресурсы перед компиляцией".

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

Такое на других проектах не наблюдается.

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

Добавлено: 15 янв 2014, 11:12
pk
Zver писал(а):В настройках проекта выбрано "Очищать ресурсы перед компиляцией".
У меня это перестало работать года 2 назад - слушайте опытных людей (edward_K), уничтожайте самостоятельно:)

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

Добавлено: 15 янв 2014, 17:20
Zver
Понятно, теперь будем уничтожать сами.

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

Добавлено: 16 янв 2014, 19:25
Алексей
я випером собираю всегда в один ресурс. стоит максимальное сжатие. не удаляю ресурс перед сборкой.
с размером всё ок. 5.4.43 на 8.10 сейчас.

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

Добавлено: 17 янв 2014, 00:24
LaaLaa
У компилятора есть опция: "сжимать ресурс посе компиляции" если она выключена элементы программы дописываются в конец ресурса а одноменные элементы остаются вначале

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

Добавлено: 22 янв 2014, 10:53
Zver
Скорее всего дело именно в этом.
В настройках проекта пункт "Сжимать ресурсы после компиляции" выделен серым цветом и выбрать его нельзя.
Что может мешать выбрать этот пункт?

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

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


Ставьте "Очищать ресурсы перед компиляцией". Будет всегда чистый ресурс без шлака от предыдущих компиляций. Работайте по простому.

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

Добавлено: 22 янв 2014, 13:29
Алексей
а меня не устраивает очищать ресурс перед компиляцией. т.к. если в ресурсе 50 интерфейсов и я подправил только один, мне надо его пересобрать... или он почистить только тот интерфейс, который компилируется?

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

Добавлено: 23 янв 2014, 11:13
pk
LaaLaa писал(а):Ставьте "Очищать ресурсы перед компиляцией". Будет всегда чистый ресурс без шлака от предыдущих компиляций. Работайте по простому.
говорят, чужой опыт никогда никого ничему не учит;)
когда человек обыщется среди своих 50 интерфейсов, почему не работает модифицированный, то поймёт справедливость ваших слов.

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

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

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

Такое на других проектах не наблюдается.
Вопрос был именно в том, что увеличение ресурсного файла происходит при включенной настройке "Очищать ресурсы перед компиляцией". Вот это и настораживает. При этом при каждой компиляции стабильно увеличивается на 20 кб.

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

Добавлено: 23 янв 2014, 13:48
Bender
Zver писал(а): Вопрос был именно в том, что увеличение ресурсного файла происходит при включенной настройке "Очищать ресурсы перед компиляцией". Вот это и настораживает. При этом при каждой компиляции стабильно увеличивается на 20 кб.
Возможно данный параметр "перекрыт" в настройках компилируемых prj-файлах, проверьте. Как и говорил скоро выложу сборку, где включена доступность заблокированного параметра о сжатии.

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

Добавлено: 23 янв 2014, 14:20
Den
у меня лично работает Compilers.ClearResource