СИТ "Сетевые Информационные Технологии (в машиностроении)"
Неформальное объединение IT специалистов
 
tltr
..Visual Loodsman for Delphi
Предыдущая страницаСледующая страницаГлавная страницаКарта сайтаКарта сайта
   
   
   
  Главная
  Карта сайта
  Контакты
   
  Учебное пособие:
  Содержание
   
   
  Компания АСКОН
.....
Урок 6 - Создание процедур редактирования базы данных системы ЛОЦМАН:PLM (продолжение).
 

Шаг 6.7 - Настройка процедур окружения формы регистрации нового раздела.

     Установите курсор на форму fmItemLibOKP, в инспекторе свойств перейдите на закладку Events, создайте процедуру FormShow для события OnShow. Введите в тело процедуры следующие строки:

procedure TfmItemLibOKP.FormShow(Sender: TObject);
begin
     Self.vlom.GetGlobalId;
     // загрузить идентификаторы компонента vlom - TVLOwnerManager из системного буфера
end;

     Перейдите на форму fmItemLibOKP, дважды щелкните по кнопке bbtOk, будет создана процедура bbtOkClick. Введите в теле процедуры следующие строчки:

procedure TfmItemLibOKP.bbtOkClick(Sender: TObject);
begin
     Self.vlom.InsertObject(False);
     // создать объект указанного типа в указанном состоянии и присоединить его по указанной связи
     // к родительскому объекту компонента vlom - TVLOwnerManager,
     // после чего сохранить атрибуты созданного объекта введенные в поля формы

end;

     Таким образом при загрузке формы на экран компонент vlom - TVLOwnerManager считывает из системного буфера идентификаторы заранее заданных объектов вместе с дополнительной информацией и помещает все в свои свойства. После того, как пользователь введет в поля формы какие-либо данные кнопка bbtOk станет доступной. После нажатия на нее мышкой компонент vlom создаст новый объект указанного в свойствах типа в указанном состоянии и присоединить его к родительскому объекту по указанной связи. При этом также будут сохранены атрибуты введенные в поля формы. Идентификатор вновь созданного объекта помещается в свойство InBDID компонента vlom. Идентификатор вновь созданной связи помещается в свойство InLBDID.
     Теперь остается только позаботится о том, чтобы перед вызовом формы fmItemLibOKP в системный буфер была загружена необходимая информация. Для этого перейдите в модуль PCLibOKP (см. Урок 5), встаньте на форму fmLibOKP, дважды щелкните на компоненте am - TActionManager и в редакторе действий дважды щелните на действии InsLib - Создать (см. рис. 6.5).

Рис. 6.5.

     Будет создана процедура для указанного действия InsLibExecute. Введите в раздел implementation и в тело созданной процедуры следующие строки:

implementation

uses PCItemLibOKP;

...

procedure TfmLibOKP.InsLibExecute(Sender: TObject);
begin
     inherited;
     Self.vltv.GetGlobalId;
     // поместить в системный буфер идентификаторы и дополнительную информацию
     // из компонента vltv - TVLTableView

     fmItemLibOKP:=TfmItemLibOKP.Create(Application);
     // создать форму для регистрации нового раздела ОКП
     try
          if fmItemLibOKP.ShowModal=mrOk then
          // загрузить форму на редактирование
          // если работа закончена нажатием кнопки ОК

          begin
               Self.vltv.RefreshLink(fmItemLibOKP.vlom.InLBDID);
               // обновить таблицу подчиненных разделов
          end;
     finally
          fmItemLibOKP.Free;
          // освободить память, удалить форму
     end;
end;

     Скомпилируйте приложение, загрузите окно классификатора ОКП, встаньте в дереве классификатора на какую-нибудь ветку и проверьте работу контекстного меню таблицы подчиненных разделов (см. рис. 6.6). Зарегистрируйте новый раздел.

Рис. 6.6.

     Далее...

Предыдущая страницаСледующая страницаГлавная страницаКарта сайтаКарта сайта
 
...© 2010 "Сетевые Информационные Технологии" ...Главная...Карта сайта...Контакты