Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ограничение времени выполнения функции / 11 сообщений из 11, страница 1 из 1
10.12.2016, 20:36
    #39364163
vixxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
Доброго всем дня, уважаемые форумчане!
Столкнулся с необходимостью ограничивать время выполнения функции, так как по прошествии длительного интервала результат работы уже не важен и чрезвычайно не желателен для пользователя приложения.
Функция Public, лежит в отдельном модуле. К ней обращаются формы и запросы.
Не бросайте камни, ткните носом, куда копать....
Заранее всем спасибо за любые ответы!
...
Рейтинг: 0 / 0
10.12.2016, 20:40
    #39364167
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
А какой смысл тормозить? пусть уж себе впахивает до конца...

В крайнем случае заведи публичную переменную, которая в функции проверяется (например, на каждом витке основного цикла работы или ещё где - ну чтобы и вроде нечасто, но и не раз в сутки), и ежели функция заработалась сверх меры, меняй значение этой переменной на сигнал, что пора завязывать...
...
Рейтинг: 0 / 0
10.12.2016, 20:46
    #39364170
vixxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
AkinaА какой смысл тормозить? пусть уж себе впахивает до конца...
А вот, например, ping айпишника - если более 500мс то смысла ждать еще 2500 мс нет смысла, можно вычислять следующее значение...
...
Рейтинг: 0 / 0
10.12.2016, 21:50
    #39364196
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
vixxaнапример, ping айпишника - если более 500мс то смысла ждать еще 2500 мс нет смысла
Ошибаешься. Бывает, пока шлюз прочихается и начнёт таки рутить пакеты, десяток секунд пройдёт. А уж если для связи подымается VPN, причём on demand с малым тайм-аутом и автологоффом...
...
Рейтинг: 0 / 0
10.12.2016, 22:15
    #39364205
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
vixxa,
ну, если "в лоб" , то как то так
...
Рейтинг: 0 / 0
10.12.2016, 22:20
    #39364209
vixxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
AkinaОшибаешься. Бывает...
Это уж точно, бывает... Спасибо за краткий экскурс по сетевым технологиям (я без сарказма ;) ). Вообще-то я про пинг для примера, хотя можно было для примера использовать человеческий фактор (ну не нажал пользователь на какую-то кнопку, которую нужно было нажать в определенное время, или вывод на экран результаты работы функции, которая поразрядно вычисляет пи (3,141592653...) пока не заполнится нужное пользователю пространство экрана не истечет определенное время)...
Все таки вопрос стоял именно в определенном времени , по истечению которого функция, вне зависимости от результатов, должна прекратить выполняться.
...
Рейтинг: 0 / 0
10.12.2016, 22:44
    #39364219
а так?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Option Compare Database
Option Explicit

Sub DoIt()
    Debug.Print tst(1)
End Sub

Function tst(t#) As Variant
    Dim i&, j&, t1#
    tst = "time out"
    t1 = Timer
    For i = 1 To 100000000
        j = j + 1
        If Timer > t1 + t Then Exit Function
    Next i
    tst = j
End Function
...
Рейтинг: 0 / 0
10.12.2016, 23:14
    #39364233
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
vixxaвопрос стоял именно в определенном времени , по истечению которого функция, вне зависимости от результатов, должна прекратить выполняться.Значит, внутри должен быть соотв. флаг. Ловим время на старте, а в процессе выполнения периодически проверяем, не истекло ли отпущенное время. Или тоже с внешним управлением, но от запускающегося на старте функции таймера.
...
Рейтинг: 0 / 0
10.12.2016, 23:52
    #39364246
vixxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
Akina, guest_rusimport, а так?
Спасибо за ответы!
Попробовал предложенные Вами варианты - что-то не очень решаются проблемы.
Возможно из-за того, что лучше один раз увидеть, чем сто раз услышать.
Постараюсь не сильно отвлечь Ваше внимание, приложив для рассмотрения описываемую мною выше БД.
Еще раз спасибо всем!
...
Рейтинг: 0 / 0
11.12.2016, 07:17
    #39364289
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
vixxa,
в приведенной в примере в коментариях ссылке на топик есть решение вашего вопроса
...
Рейтинг: 0 / 0
11.12.2016, 10:32
    #39364316
vixxa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение времени выполнения функции
guest_rusimport,

Спасибо за ответ и за совет. Я конечно же пробовал предложенный Вами вариант, так как он был описан на той же ветке форума, откуда я брал код в используемом мною варианте.
Кстати, благодаря Вашим изменениям функция стала работать гораздо быстрее. Спасибо.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ограничение времени выполнения функции / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]