Лоцман : PLM. версия 8 презентация

Содержание

Способы расширения возможностей системы Плагин – внешняя библиотека расширяющая функционал клиента. Прокси – библиотека интеграции с инструментом Специальные клиенты – самостоятельные приложения использующие методы СП для манипуляций с объектами БД

Слайд 1ЛОЦМАН:PLM
Версия 8
Расширение возможностей системы.
Дополнительные модули.
Управление меню.


Слайд 2Способы расширения возможностей системы
Плагин – внешняя библиотека расширяющая функционал клиента.
Прокси

– библиотека интеграции с инструментом
Специальные клиенты – самостоятельные приложения использующие методы СП для манипуляций с объектами БД
Бизнес-объект – внешний справочник - поставщик данных для системы

Слайд 3Взаимодействие компонентов системы и дополнительных модулей (плагинов)
ЛОЦМАН:Клиент
Плагин
Сервер
приложений
RunMethod
Сервер
БД


Слайд 4Взаимодействие компонентов системы и библиотек интеграции
ЛОЦМАН:Клиент
Сервер
приложений
Сервер
БД
Документ
Интегратор
Инструмент
Proxy


Слайд 5Взаимодействие компонентов системы и специального клиента
Специальный
клиент
Сервер
приложений
Сервер
БД


Слайд 6Внешний справочник
ЛОЦМАН:Клиент
Взаимодействие компонентов системы и бизнес-объектов
Сервер
приложений
Сервер
БД
Объект ЛОЦМАН
Объект справочника


Слайд 7Плагин это …
Динамически подключаемая библиотека (DLL), с расширением «*.pgi».
Плагин должен содержать

2 обязательные функции, имеющие следующее назначение:

InitUserDLL – построение структуры меню;
PgiCheckMenuItem – контроль доступности пунктов меню.

… и набор процедур-обработчиков, соответствующих пунктам меню


Слайд 8Управление меню
Информация о пункте меню передается клиентскому модулю функцией InitUserDLL в

виде массива указателей на структуры данных типа:
TAddMenu = record
stMenu: string[255];
stFunction: string[255];
end;
где stMenu – это строка вида:
«МЕСТО#Уровень1#Уровень2#…#Название», МЕСТО – строковый идентификатор определяющий положение относительно стандартных пунктов главного меню, например: MI_TOOL означает - внутри пункта меню «Инструменты», приставки BEFORE_ и AFTER_ указывают, размещение, соответственно, перед или после пункта меню
stFunction – имя процедуры-обработчика

Возможные положения пунктов меню

MI_FILE, AFTER_MI_FILE, BEFORE_MI_FILE,
MI_VIEW, AFTER_MI_VIEW, BEFORE_MI_VIEW,
MI_EDIT, AFTER_MI_EDIT, BEFORE_MI_EDIT,
MI_TOOLS, AFTER_MI_TOOLS, BEFORE_MI_TOOLS,
MI_HELP, AFTER_MI_HELP, BEFORE_MI_HELP


Слайд 9InitUserDLL
function InitUserDLL (Value : Pointer) : Integer; stdcall; export;
var
item :

PAddMenu;
begin
if Value = nil then //первый вызов
Result := 2 //сколько будет пунктов в меню
else begin //второй вызов
item := Value;
item.stMenu := 'AFTER_MI_VIEW#Плагин#Функция №1';
item.stFunction := 'menu_Func1';
inc(item);
item.stMenu := 'AFTER_MI_VIEW#Плагин#Функция №2';
item.stFunction := 'menu_Func2';
end;
end;

Вызывается дважды. Первый раз - для определения объема и выделения памяти под новые пункты меню. Второй – для заполнения выделенной памяти информацией о структуре меню и процедурах-обработчиках, соответствующих пунктам меню.


Слайд 10PgiCheckMenuItem
Вызывается при каждом обращении пользователя к меню. Позволяет, в зависимости от

параметров выбранного к дереве клиента объекта и других условий, устанавливать активность пунктов меню

function PgiCheckMenuItem(stFunction: string;
RunMethod: TRunMethod;
ParentVersion, ChildVersion: TVersion;
stLinkName, DataBaseName,stCheckOut: string): boolean; stdcall;
begin
AssignRunMethod(RunMethod);
Result := False;
if stFunction = 'menu_Func1' then //только документы
Result := ChildVersion.boDocument;
if stFunction = 'menu_Func2' then //только объекты
Result := not ChildVersion.boDocument;
end;


Слайд 11Класс TVersion
Предназначен для описания объектов базы данных. Реализация находится в PIClasses.pas.
Cодержит

основные идентификационные данные объекта:
inID – Уникальный идентификатор,
stType – Тип объекта,
stProduct – Ключевой атрибут
stVersion – Номер версии
boDocument – Признак документа

Имеет несколько конструкторов
FromEmpty - создает пустой объект;
FromRecord - из набора данных TDataSet
FromIDVersion - по ID объекта


Слайд 12Процедуры-обработчики
Это процедуры выполняемые при выборе соответствующего пункта меню
procedure menu_Func1(
ParentHandle,

ClientHandle: THandle;
RunMethod: TRunMethod;
PDMVersion: TVersion;
DataBaseName, stCheckOut: string;
inIdLink: integer); stdcall;
begin
ShowMessage(’Это документ’);
end;

library PgiExample;

uses
SysUtils, Classes,
PIClasses in 'PIClasses.pas',
Unit1 in 'Unit1.pas',
frmInsertObjectUnit in 'frmInsertObjectUnit.pas',
frmNewVersionUnit in 'frmNewVersionUnit.pas';

{$E pgi}

{$R *.res}

exports
InitUserDLL, PgiCheckMenuItem,
menu_GetAttrList, menu_InsertObject, menu_NewVersion;

begin
end;


Слайд 13Вызовы методов сервера приложений
Доступ к методам СП обеспечивается посредством функции RunMethod,

которая реализована в клиентском модуле и используется им для обращения к СП. Указатель на RunMethod передается в плагин как аргумент функции PgiCheckMenuItem и процедур-обработчиков.

//Объявление прототипа функции RunMethod
TRunMethod = function(
stName: string;
Params: array of Variant): Variant of object;


Слайд 14Управление клиентом
ЛОЦМАН клиент поддерживает набор сообщений для обновления данных, переме-щения по

дереву объектов и других операций:

WM_REFRESHVERSION = WM_USER + 1;
WM_REFRESHPARENT = WM_USER + 4;
WM_GOTOCHILD = WM_USER + 5;
WM_REFRESHCHECKOUTLIST = WM_USER + 6;
WM_REFRESHPROJECTLIST = WM_USER + 7;
WM_GOTONODE = WM_USER + 8;
WM_GOTOOBJECT = WM_USER + 9;
WM_OPENOBJECTINNEWWINDOW = WM_USER + 100;
WM_OPENOBJECTSINNEWWINDOW = WM_USER + 101;

//обновить объект с идентификатором inId
PostMessage(ClientHandle,
WM_REFRESHVERSION,inId,0);


Слайд 15Подключение плагина
Плагины подключается к базам данным в секции Plugins файла …\Client\Loodsman.ini,



[Plugins]
Имя_БД=плагин1.pgi;плагин2.pgi;…;плагинN.pgi

Активация плагина, т.е. выполнение кода IniUserDLL, происходит в момент открытия базы данных или CheckOut-а принадлежа-щего базе данных, для которой заполнена информация в секции Plugins

[AppServers]
ServerList=AK-20

[FileTemplates]
Документы Microsoft Word=C:\Loodsman7\Client\Документы Microsoft Word

[PlugIns]
СПДС=LoodsmanSpds.pgi;SPDSAcadDex.pgi;PgiExample.pgi


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика