Структура интерфейса — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 24: Строка 24:
 
:<span style="color:blue">string</span> GetDBUpdate ( );
 
:<span style="color:blue">string</span> GetDBUpdate ( );
 
:<span style="color:blue">string</span> GetForms ( );
 
:<span style="color:blue">string</span> GetForms ( );
 
+
<br>
 
+
 
:<span style="color:blue">string</span> GetInputParams ( <span style="color:blue">string</span> xml );
 
:<span style="color:blue">string</span> GetInputParams ( <span style="color:blue">string</span> xml );
 
:<span style="color:blue">string</span> GetOutputParams ( <span style="color:blue">string</span> xml );
 
:<span style="color:blue">string</span> GetOutputParams ( <span style="color:blue">string</span> xml );
Строка 33: Строка 32:
 
:<span style="color:blue">string</span> StopShow ( <span style="color:blue">string</span> xml );
 
:<span style="color:blue">string</span> StopShow ( <span style="color:blue">string</span> xml );
 
:<span style="color:blue">string</span> GetControlResult ( <span style="color:blue">string</span> xml );
 
:<span style="color:blue">string</span> GetControlResult ( <span style="color:blue">string</span> xml );
 
+
<br>
 
+
 
:System.Windows.Forms.Control CreateControl ( <span style="color:blue">string</span> xml );
 
:System.Windows.Forms.Control CreateControl ( <span style="color:blue">string</span> xml );
 
+
<br>
 
+
 
:<span style="color:blue">event</span> PluginQueryInvoker OnQuery;
 
:<span style="color:blue">event</span> PluginQueryInvoker OnQuery;
 
:<span style="color:blue">string</span> DoQuery ( <span style="color:blue">string</span> xml );
 
:<span style="color:blue">string</span> DoQuery ( <span style="color:blue">string</span> xml );

Версия 11:02, 27 марта 2014

Наверх

В главной сборке plugin-программы приложением Oktell ищется класс, реализующий нижеприведенный перечень методов. Если при подключении возникают проблемы с сопоставлением, модуль регистрации plugin-программы подскажет, что именно и в каком методе не подходит и не соответствует ожидаемому интерфейсу.

Даже если plugin-программа не использует часть возможных механизмов и не заявляет об их использовании в возвращаемых значениях существующих для этого методов, для ее регистрации необходимо наличие и соответствие всех заявленных в интерфейсе методов. Так, если plugin-программа служит только для отображения форм в разделе внешних модулей, в ее управляющем объекте в любом случае должны присутствовать методы (заглушки в данном случае) для работы с диалоговыми формами.

Возможны варианты использования plugin-программ, осуществляющих невизуальную фоновую деятельность, или деятельность не связанную с режимами диалоговых сценариев и/или работы внешних модулей. В этом случае чаще всего требуется загрузка плагина на старте клиентского приложения. Момент загрузки настраивается администратором при регистрации plugin-программы в Oktell. Стоит отметить, что в этом случае в момент загрузки будет выполнен конструктор, а также метод DoQuery с функцией pluginloaded (20401). Без особой на то необходимости рекомендуется запускать внутренние объекты именно в реализации указанной функции метода DoQuery, а не в конструкторе, так как конструктор вызывается в любом случае, даже если plugin-программа подгружается в административных целях.

В этой статье приведен перечень методов, свойств и событий.

В следующей статье будет структурное описание назначения всех методов.

Структура и возможные варианты параметров и возвращаемых значений будут приведены в последующих разделах.


Методы, необходимые для соответствия интерфейсу

delegate string PluginQueryInvoker ( string xml );
Guid GetId ( );
int GetInterfaceVersion ( int lastknownversion );
string GetModuleVersion ( );
string GetModuleName ( );
string GetDBUpdate ( );
string GetForms ( );


string GetInputParams ( string xml );
string GetOutputParams ( string xml );
string ShowDesign ( string xml );
string PrepareShow ( string xml );
string GetCurrentFillInfo ( string xml );
string StopShow ( string xml );
string GetControlResult ( string xml );


System.Windows.Forms.Control CreateControl ( string xml );


event PluginQueryInvoker OnQuery;
string DoQuery ( string xml );