Разработка компонента карточки
|
Исходный код компонента карточки расположен в подкаталоге |
Поскольку пример разработки компонента карточки приведён в разделе Разработка компонента карточки, здесь отмечены только ключевые моменты его реализации для Модуля учета сетевых устройств.
Реализация интерфейса карточки в компоненте не планируется, вместо этого в Конструкторе разметок будет настроена её разметка, с последующей выгрузкой этих настроек (рассмотрено в разделе Формирование "CardPackage" и "SqlPackage") для размещения в пакете установки. Чтобы разметка карточки могла быть настроена в конструктора, класс компонента карточки отмечен специальным атрибутом Customizable.
В конструктор класса компонента карточки добавим простой алгоритм проверки лицензионного ключа, значение которого считывается из реестра Windows. Для ввода лицензионного ключа предполагается использовать SnapIn, который будет разработан позднее.
|
Проверку лицензии при необходимости можно реализовать несколькими методами (см. Лицензирование). |
Класс компонента должен быть отмечен атрибутом Guid, значение которого соответствует Идентификатору COM-компонента карточки (см. Создание схемы метаданных карточки).
using DocsVision.BackOffice.WinForms;
using DocsVision.Platform.CardHost;
using System;
using System.Runtime.InteropServices;
namespace NetstatSolutionCard
{
[ComVisible(true)]
[Customizable(true)]
[Guid("053B0CA1-95FD-4DDA-95FA-6043AFACCC1F")]
[ClassInterface(ClassInterfaceType.None)]
public partial class MainControl : DocsVision.BackOffice.WinForms.BaseCardControl
{
public MainControl()
{
if (!CheckLicense())
{
throw new Exception("Отсутствует лицензия для Модуля учета сетевых устройств"); (1)
}
InitializeComponent();
}
private bool CheckLicense() (2)
{
bool result = false;
return result; (3)
}
}
}
| 1 | В случае отсутствия лицензии, при открытии карточки будет выдано сообщение об ошибке. |
| 2 | Алгоритм проверки лицензии. |
| 3 | Логику проверки смотрите в исходном коде проекта. |
|
Если вы работаете с исходными кодами проекта, то компонент карточки собирается первым. |