Под инфраструктурой элемента подразумеваются:
- - любые файловые потоки;
- служебная и справочная информация об элементе с примерами его использования;
- реализации элемента под каждый пакет в котором он будет функционировать;
- различные версии реализации под конкретный пакет;
- локализованные ресурсы для многоязычных данных;
Теперь рассмотрим какие необходимо сделать дополнения в коде элемента, чтобы он получил данную функциональность. Предполагается, что файл справки в формате HTML уже есть:
<html>
<head>
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
<table class="mes_table" border="1">
<tr class="prop_cap">
<td width="10%"><IMG src="../int/icons/components.ico"></td>
<td align="center">Example</td>
</tr>
<tr>
<td style="PADDING-RIGHT: 4px; PADDING-LEFT: 4px" colSpan="2">
<P align="justify"> Элемент Example - демонстрирует возможности использования сборки как контейнера для хранения информации об элементе.
</P>
</td>
</tr>
<tr>
<td class="down_sel" colSpan="2"> support: <A href="http://forum.hiasm.com">
Example</A></td>
</tr>
</table>
</body>
</html>
Добавляем файл Example.html в ресурсы сборки как мы это уже делали с файлами иконки элемента и скрипта построения кода для проекта Windows Forms (смотрите предыдующие материалы темы). После добавления получим следующий вид ресурсов сборки:
Чтобы поместить файл справки из ресурсов сборки в папку C:\HiAsm.NET\help надо переопределить код метода инициализации элемента:
public override void init(int flag = 0)
{
base.init(flag);
string content = Properties.Resources.Example;
string helpName = String.Format("{0}.html", GetType().Name);
string helpFilename = Path.Combine(Share.dataDir, Constants.HELP_PATH, helpName);
Helpers.overwriteIfDifferent(content, helpFilename);
}
Проверяем работу справки элемента:

