(изменено: Vitaliy, 28 июля 2023 16:38:28)

Тема: Ошибка работы API, свойств BOF и EOF.

Здравствуйте!
Некорректно отрабатывает API (см. скриншот), а именно свойства BOF и EOF должны возвращать True так в сетке присутствует всего одна строка. А также при нажатии на клавиатуре стрелок вниз, верх (↓ ↑) и повторном запуске скрипта буде выдан другой результат (например, True, False или False, True).
Версия TechnologiCS: v.7.98.0.0 (11199-beta) Db 7.98.82.0
Код:
Sub FormMacro_test(ActiveModule)
     call theapp.ShowErrorMessage("BOF: " & ActiveModule.BOF & vbnewline & "EOF: " & ActiveModule.EOF)
End sub

Post's attachments

908.png 146.96 Кб, файл не был скачан. 

You don't have the permssions to download the attachments of this post.

Re: Ошибка работы API, свойств BOF и EOF.

Eof Bof выставятся когда вы дошли до первой или последней строки. Ну вроде стандартное поведение всех датасетов. Описание конечно может не верно дано, но в целом соответсвует

Sub Test
  Dim Cnt
  Cnt = 0
  theApp.DocTypes.First
  while not theApp.DocTypes.Eof
    Cnt = Cnt + 1
    theApp.DocTypes.Next
  Wend
  Call theApp.ShowMessageBox( "Count to EOF", Cnt )
  Cnt = 0
  theApp.DocTypes.Last
  while not theApp.DocTypes.Bof
    Cnt = Cnt + 1
    theApp.DocTypes.Prior
  Wend
  Call theApp.ShowMessageBox( "Count to BOF", Cnt )

  theApp.DocTypes.First
  Call theApp.ShowMessageBox( "BOF1", theApp.DocTypes.Bof )
  theApp.DocTypes.Prior
  Call theApp.ShowMessageBox( "BOF2", theApp.DocTypes.Bof )
  theApp.DocTypes.Next
  Call theApp.ShowMessageBox( "BOF3", theApp.DocTypes.Bof )
End Sub