Еще одна проблема Fastreport и Vcs
Vasily Grechishnikov
г. Воронеж
Добрый день!
В FastReport 4 есть еще одно неудобство при использовании VCS.
Свойство ScriptText сохраняется в DFM даже если свойство StoreInDFM = False.
это создает излишнюю энтропию. Открыл отчет в дизанере, сохранил форму, а в DFM левые данные замусоривающие историю.
Я никогда не сохраняю шаблоны в DFM а только в FR3.
И поэтому этот вопрос для себя решил очень просто.
Убрал директиву stored для
И пропатчил XMLSerializer.pas
for i := 0 to PropCount - 1 do
begin
s := '';
Flag := False;
if (IsStoredProp(Obj, PropList) or (PropList.Name = 'ScriptText')) then
case PropList.PropType^.Kind of
tkInteger, tkSet, tkChar, tkWChar, tkEnumeration:
DoOrdProp;
tkFloat:
DoFloatProp;
Стало жить намного легче, но все равно мешают свойства LastChange, которые также меняются при загрузке каждого нового отчета в дизайнер.
Борюсь с ними утилитой DFM Cleaner из JVCL запускаемой перед diff или commit.
Но мне кажется что FastReport должен вести себя правильно.
В FastReport 4 есть еще одно неудобство при использовании VCS.
Свойство ScriptText сохраняется в DFM даже если свойство StoreInDFM = False.
это создает излишнюю энтропию. Открыл отчет в дизанере, сохранил форму, а в DFM левые данные замусоривающие историю.
Я никогда не сохраняю шаблоны в DFM а только в FR3.
И поэтому этот вопрос для себя решил очень просто.
Убрал директиву stored для
И пропатчил XMLSerializer.pas
for i := 0 to PropCount - 1 do
begin
s := '';
Flag := False;
if (IsStoredProp(Obj, PropList) or (PropList.Name = 'ScriptText')) then
case PropList.PropType^.Kind of
tkInteger, tkSet, tkChar, tkWChar, tkEnumeration:
DoOrdProp;
tkFloat:
DoFloatProp;
Стало жить намного легче, но все равно мешают свойства LastChange, которые также меняются при загрузке каждого нового отчета в дизайнер.
Борюсь с ними утилитой DFM Cleaner из JVCL запускаемой перед diff или commit.
Но мне кажется что FastReport должен вести себя правильно.