Да, забыли. Исправил:
tempbmp.Dispose();
Да, забыли. Исправил:
tempbmp.Dispose();
Добавьте, пожалуйста, директиву {$description 'ProcessDescription'}
, чтобы можно было дать описание процессу. (Аналог [assembly: AssemblyDescription("ProcessDescription")]
из C#)
Зачем это нужно, когда именно это нужно и как часто это нужно? Мы пока что без этого живем уже много лет.
Это 1 из этих директив:
Другого способа добавить эти атрибуты к .exe, на сколько я знаю, нету. По крайней мере из нормальных. Вроде можно поизвращаться с файлами манифеста…
Спасибо, я читал, что делает эта директива. Но это не ответ на мои вопросы: зачем, когда и как часто нужно?
Нужно любому, кто делает крупный проект. Пустая строчка с описанием задевает мои чувства перфекциониста).
Понятно. Я считаю, что реагировать на чувства отдельно взятых перфекционистов - исключительно прерогатива разработчиков, поэтому от дальнейших комментариев и вопросов воздержусь. Замечу только, что разработчики уже не раз отмечали: PascalABC.NЕТ предназначен для небольших и среднего размера проектов.
Зато подобная практика помогает находить баги среды.
Ну это у Вас уже сродни бородатейшему советскому анекдоту:
- А почему у вас в СССР в магазинах мяса нет?
- Зато у Вас в Америке негров линчуют!
Предлагаю запретить создавать проекты Windows Forms, поскольку:
Переименование не относится к Windows Forms. Переименование относится к переименованию.
Анализатор кода не относится к Windows Forms. Он относится к средствам Intellisense. Особых багов я там не знаю - может, Sun Serega их напишет.
Переименование там ломается часто. Я об этом.
Да, я понял. Дизайнер форм в этом не виноват. Виновато переименование.
Был бы дизайнер для WPF-приложений…
Да, я б с удовольствием поручил его кому-то интегрировать.
Директива {$description ‘’}
Короче, всё, что нужно сделать:
в TreeConverter\TreeConversion\compiler_string_consts.cs в 340-ую строку добавить
public static string description_string = "description";
в Compiler\Compiler.cs в строку 1922 добавить:
if (compilerDirectives.TryGetValue(TreeConverter.compiler_string_consts.description_string, out cds))
{
cdo.Description = cds[0].directive;
}
в 1986-ую:
if (!string.IsNullOrEmpty(project.description))
cdo.Description = project.description;
в 2012-ой надо заменить sw.WriteLine("VALUE \"FileDescription\"," + "\"" + "" + "\"");
на sw.WriteLine("VALUE \"FileDescription\"," + "\"" + cdo.Description + "\"");
В Compiler\ProjectInfo.cs в 33-ю строку:
private string _description;
в 194-ой организовать свойство по тому полю:
public string description
{
get
{
return _description;
}
set
{
_description = value;
}
}
в 483-ю добавить:
writer.WriteAttributeString("Description", description);
и в 549-ую:
description = reader.GetAttribute("Description");
if (description == null) description = "";
в NETGenerator\NETGenerator.cs в 89-ую:
private string _Description = "";
public string Description
{
get { return _Description; }
set { _Description = value; NeedDefineVersionInfo = true; }
}
и последнее – необходимо как-то записать описание в сборку, с этим я не разобрался.
Вроде это всё, что требуется.
А почему не пулл реквестом?
Потому что гитхаб “хорошо” показывает изменения в файлах: Да и я так и не разобрался как впилить описание в итоговую сборку.
Да-да. А потом что-то где-то вылезет в другом месте и разработчики будут еще полгода выковыривать баги на основе полсотни issure, которые им радостно нарисуют добрые люди. Зато будет удовлетворена сомнительная хотелка.