SASGIS - SAS.Планета
View Issue Details
0002218SAS.Планета[All Projects] Хотелкаpublic17-10-2013 10:2024-10-2013 12:20
vdemidov 
zed 
normalminorhave not tried
resolvedfixed 
121010 
131111131111 
0002218: Добавить в окно "О программе" хэш ревизии
Хорошо бы добавить в информацию не только номер ревизии (он может меняться в разных клонах репозитори, а на битбукете не выводится). И уж для полного счастья можно было бы добавить хэш ревизии SAS.Requires, которая использовалась при сборке.
интерфейс
Issue History
17-10-2013 10:20vdemidovNew Issue
17-10-2013 10:20vdemidovStatusnew => assigned
17-10-2013 10:20vdemidovAssigned To => zed
17-10-2013 10:22zedNote Added: 0013086
17-10-2013 10:26vdemidovNote Added: 0013087
17-10-2013 10:40zedNote Added: 0013088
17-10-2013 10:49vdemidovNote Added: 0013089
20-10-2013 19:41zedNote Added: 0013092
20-10-2013 20:04vdemidovNote Added: 0013093
20-10-2013 20:07zedNote Added: 0013094
20-10-2013 20:11vdemidovNote Added: 0013095
21-10-2013 05:25TolikNote Added: 0013096
21-10-2013 05:26TolikFile Added: SASPlanet.Debug.elf
21-10-2013 08:30zedNote Added: 0013097
21-10-2013 08:46TolikNote Added: 0013098
21-10-2013 08:49TolikNote Edited: 0013098bug_revision_view_page.php?rev_id=5774
21-10-2013 08:50TolikNote Edited: 0013098bug_revision_view_page.php?rev_id=5775
21-10-2013 09:18zedFile Deleted: SASPlanet.Debug.elf
21-10-2013 09:19zedNote Deleted: 0013096
21-10-2013 09:19zedNote Deleted: 0013097
21-10-2013 09:19zedNote Deleted: 0013098
21-10-2013 17:35zedStatusassigned => resolved
21-10-2013 17:35zedFixed in Version => 131111
21-10-2013 17:35zedResolutionopen => fixed
21-10-2013 17:36zedTarget Version => 131111
24-10-2013 12:20vdemidovTag Attached: интерфейс

Notes
(0013086)
zed   
17-10-2013 10:22   
Куда предполагается сохранять эту информацию? В Version.inc?
(0013087)
vdemidov   
17-10-2013 10:26   
ХЗ. Я бы предпочел, что бы скрипт дописывал это при билде куда-то в ресурсы. Плюс признак что это ночная сборка. Что бы при сборке просто в Делфи там было что-то типа Unknown, а в тип сборки выводился Custom вместо Nightly или Release. Но как это лучше сделать я не знаю. Если считаешь, что слишком сложно, то просто закрой.
(0013088)
zed   
17-10-2013 10:40   
Если через ресурсы, то можно положить туда ini файл и прописывать в него скриптом всю дополнительную информацию. Соответственно, если exe будет собираться вручную, через IDE, то там будут дефолтные значения.
(0013089)
vdemidov   
17-10-2013 10:49   
Может просто пару строковых ресурсов? Как-то ini файл это уже перебор.
(0013092)
zed   
20-10-2013 19:41   
А можно пример, как можно сохранять строки в ресурсы? Что-то я не нахожу как там можно нормально сохранить строки, аналогично тем же иконкам, а находится только вариант с таблицей строк:

STRINTABLE
BEGIN
  1, "строка раз"
  2, "строка два"
END

Но мне этот вариант не очень нравится, потому как тут задаются id строк в виде чисел и возможны конфликты с другими *.res файлами, в которых кто-то может точно так же вручную задать те же самые id.
(0013093)
vdemidov   
20-10-2013 20:04   
Ну, например добавить ресурс как текстовый файл, но работать с ним как со строкой?

Создаем текстовый файл ресурса MyRes.rc с телом

MyText Text APP.TXT

Компилируем его.

В программе используем вот так:
var
  Resource: THandle;
begin
  Resource := LoadResource(hInstance,
              FindResource(hInstance, 'MyText', 'TEXT'));
  Memo1.Lines.Text := PChar(LockResource(Resource));
  UnLockResource(Resource);
  FreeResource(Resource);
(0013094)
zed   
20-10-2013 20:07   
А, ну так я ж сразу предложил писать в файл :) А ini там или нет - не суть. Из скрипта, мне проще всего писать в csv формат. Да и в Delphi его легко юзать через TStringList.
(0013095)
vdemidov   
20-10-2013 20:11   
Я имел в виду, что не стоит морочиться с парсингом файла, а просто сделать пару таких текстовых ресурсов и наличие каждого из них проверять отдельно в рантайме. Но в общем и целом, мне все равно. Делай как считаешь правильным.