Вызов разных UpdateProcedure по условию

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Hello, clalist

Подскажите, пожалуйста, как реализовать сабж???
1 поле в записи определяет тип документа, в зависимости от него
нужно вызывать разные процедуры Update...
В ABCFree есть BrowseConditionalCallUpdateProcedure, как он работает
так и не понял:(

Clarion 6.1 EE ABC

--
Respect,
nix mailto:nix@hotbox.ru

28 июня 2004 г. 14:34:54
The Bat! 2.10.01 on Windows XP build 2600 Service Pack 1


(Добавление)

Можно в качестве update процедуры определить Source где по условию вызывать нужную update процедуру.

--
С уважением,
Александр Юрьев mailto:sash@softmaster.ru
ICQ 59248879

Самый простой способ - сделать Update процедуру типа Source, а там уже всем распоряжаться . Чуть сложнее - найти метод
ThisWindow.Run, из которого и вызывается Update-процедура, и посмотреть, как там всё устроено. Можно, например, сделать абсолютно пустую Update-процедуру, а после её вызова вызвать нужную ...

---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439

Нажми на процедуре в дереве проекта правыю мышу и выбери Source
на твоей процедуре Browse
далее смотри ниже:

Код: Выделить всё

ThisWindow.Run PROCEDURE(USHORT Number,BYTE Request)

ReturnValue          BYTE,AUTO

! Start of "WindowManager Method Data Section"
! [Priority 5000]

! End of "WindowManager Method Data Section"
  CODE
  ! Start of "WindowManager Method Executable Code Section"
  ! [Priority 2500]

  ! Parent Call
  ReturnValue = PARENT.Run(Number,Request)
  ! [Priority 6000]
> Вот здесь втыкай что хочешь по типу:
  GlobalRequest = Request
  CASE LOC:MyUpdateProc
  OF 1
    UpdateUser
  OF 2
    UpdateUser2
  OF 3
    UpdateUser2
  END
  ReturnValue = GlobalResponse
  RETURN ReturnValue
> ------------------------------------
  IF SELF.Request = ViewRecord
    ReturnValue = RequestCancelled                         ! Always return RequestCancelled if the form was opened in ViewRecord mode
  ELSE
    GlobalRequest = Request
    UpdateUser
    ReturnValue = GlobalResponse
  END
  ! [Priority 8500]

  ! End of "WindowManager Method Executable Code Section"
  RETURN ReturnValue
--
Всего хорошего
Evgeny mailto:mixer@clarionlife.net
Сайт для кларионистов: http://www.clarionlife.net
Clarion FAQ: http://www.clarionlife.net/cgi-bin/bl_faq.pl?comm=tree
Написал: ClaList(2)
Ответить