Страница 1 из 1

EIP+Update Procedure

Добавлено: 30 Сентябрь 2011, 1:29
gopstop2007
Добрый день!

Окно, в нем два Browse, На первом BRW1 только EIP, на втором BRW2 EIP + Update Procedure (1)
Управляется BRW2 с помощью AskProcedure. Все работало без проблем.
Появилась необходимость на BRW1 добавить еще и Update Procedure (2).
И тут чудеса, независимо какой BRW1 или BRW2 используется всегда вызывается Update Procedure (2)!
Сталкивался ли кто с такой проблемой?

Clarion 6.3 9057 ABC

Re: EIP+Update Procedure

Добавлено: 30 Сентябрь 2011, 11:56
morkovin
Сталкивался! :)
Найди в сгенерированном модуле строки , аналогичное этим:

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

ThisWindow.Run PROCEDURE(USHORT Number,BYTE Request)

ReturnValue          BYTE,AUTO

  CODE
  ReturnValue = PARENT.Run(Number,Request)
  IF SELF.Request = ViewRecord
    ReturnValue = RequestCancelled                         ! Always return RequestCancelled if the form was opened in ViewRecord mode
  ELSE
    GlobalRequest = Request
    EXECUTE Number
      BrowseNames
      BrowseLgoty
      UpdateLkDest
      UpdateLkOtpusk
      UpdateLkKontraSt((2))
      UpdateLkFamilySt
      UpdateLkSpur
      UpdateLkPenalt
      UpdateLkExamSt
      UpdateLkProgul
      UpdateLkPraktika
      UpdateLkPmr
      UpdateLkDopSogl
      UpdateLkVyplat
      UpdateSvodnEx
      UpdateLkSiroty
      UpdatelkPublicWork
      UpdateNames
      UpdateSurname
      UpdateSprOtchisl
    END
    ReturnValue = GlobalResponse
  END
  RETURN ReturnValue
Обрати внимание на порядок (и соответственно порядковый номер) процедур
А потом посмотри с каким номером ты вызываешь EIP_Update процедуру. Т.е. что-то аналогичное этому:

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

  IF Loc:EIPExamSt=1 THEN
    BRW48.AskProcedure = 0
  ELSE
    BRW48.AskProcedure = 9   !!номер по порядку в списке EXECUT
  END

Re: EIP+Update Procedure

Добавлено: 30 Сентябрь 2011, 17:41
gopstop2007
Спасибо большое, я даже в сторону AskProcedure и не смотрел :)