Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.19;
Скачать: CL | DM;

Вниз

Как получить доступ к SVN-ревизии .DFM в run-time ?   Найти похожие ветки 

 
laao   (2010-06-21 17:12) [0]

Добрый день

Задача - иметь номер ревизии Subversion в run-time Delphi проекта (для отображения пользователю, записи логов и так далее). SVN проставляет ревизию в любом текстовом файле при его изменении, в том месте, где указана служебная метка $Rev $. В нашем случае интересны .PAS и .DFM. Получение номера ревизии для .PAS файла решается добавлением блока инициализации

Foo.UpdateRevision("$Rev: $");

В этом случае при любом измении .PAS файла и commit"е его в репозиторий SVN собранный после этого проект будет оперировать в run-time актуальной ревизией.

Есть ли у кого-то идеи, как добиться того же эффекта для .DFM ? Добавить константу с $Rev $ в каждый файл несложно, можно для всех форм зарегистрировать компонент-предок с property Revision: TCaption ... Но как его получать потом? На момент старта проекта ведь не все формы еще создаются ...

Приветствуются любые идеи


 
_Юрий ©   (2010-06-21 19:04) [1]

ТО есть может такое быть, что у pas ревизия другая, чем у соответствующего ему DFM ?
ИМХО, это неверно


 
Игорь Шевченко ©   (2010-06-21 22:27) [2]

_Юрий ©   (21.06.10 19:04) [1]


> ИМХО, это неверно


Вроде ничего неверного. pas может обновляться чаще, чем dfm

laao   (21.06.10 17:12)  


> Приветствуются любые идеи


> Но как его получать потом?


Например, из ресурсов, как собственно, загружается dfm при создании.


 
jack128_   (2010-06-21 22:40) [3]

а можно узнать - зачем вообще в dfm"ках нужен номер ревизии?


 
laao   (2010-06-22 12:14) [4]

Да, таки из ресурсов нужно вытаскивать .DFM в run-time. Сейчас эксперементирую в этом направлении


> jack128_   (21.06.10 22:40) [3]
> а можно узнать - зачем вообще в dfm"ках нужен номер ревизии?
>


Ну, например, открыл я готовый проект, удалил в дизайнере у какой-то кнопки обработчик на Click. Или, другой пример, для датасета изменил свойство SQL. В .PAS файле при этом ничего не поменяется :)


 
laao   (2010-06-22 12:24) [5]


> ТО есть может такое быть, что у pas ревизия другая, чем
> у соответствующего ему DFM ?ИМХО, это неверно


Subversion (SVN) проставляет новую ревизию только в тех файлах, которые менялись. Так как существует множество случаев, когда меняется либо только .PAS, либо только .DFM, то да, ревизии будут разными (а нас интересует максимальная из всех файлов проекта)


 
jack128_   (2010-06-22 19:35) [6]

так в рабочей копии же есть инфа о номере ревизии, нафиг она в самих сорцах?


 
[true]TRIx ©   (2010-06-24 00:48) [7]

Tortose SVM скачай. ставишь, затем в проводнике правой кнопкой мыши клацаешь на любую папку куда заливать и вбиваешь ссылку.



Страницы: 1 вся ветка

Текущий архив: 2010.09.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
15-1277226885
Who_is_you?
2010-06-22 21:14
2010.09.19
Как добавить новый компонент


2-1277491678
New555
2010-06-25 22:47
2010.09.19
if Key = VK_F1 then


2-1277298942
12
2010-06-23 17:15
2010.09.19
mssql, опять торможу с триггером


15-1277670592
Юрий
2010-06-28 00:29
2010.09.19
С днем рождения ! 28 июня 2010 понедельник


2-1277558905
HF-Trade
2010-06-26 17:28
2010.09.19
Блокировать доступ к памяти процесса