powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / временная остановка процедуры
25 сообщений из 32, страница 1 из 2
временная остановка процедуры
    #32622556
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто может подсказать как можно приостановить на некоторое время выполнение модуля?
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622562
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В процедуре поставить либо "Stop", либо красный круг, либо задержку таймером...
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622574
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SteplerВ процедуре поставить либо "Stop", либо красный круг, либо задержку таймером...
Stepler (щёлк-щёлк!!)

не подскажете на счет таймера, как сделать?
В Helpe размыто както написано.
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622591
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если хочешь приостановить ход программы до какого-то действия юзера, выведи диалоговую форму, если просто чтобы код минутку постоял, поставь Sleep, а если знаешь хэндл процесса, конца которого дожидаешься - waitforsingleobject, это самое правильное решение, потому что ты действительно дожидаешься окончания и в то же время можно указать, через какое время прекратить ожидание
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622608
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_bobесли хочешь приостановить ход программы до какого-то действия юзера, выведи диалоговую форму, если просто чтобы код минутку постоял, поставь Sleep, а если знаешь хэндл процесса, конца которого дожидаешься - waitforsingleobject, это самое правильное решение, потому что ты действительно дожидаешься окончания и в то же время можно указать, через какое время прекратить ожидание
Суть вопроса следующая:
необходимо из Accessa запустить работу независимого приложения, выждать 1 минуту, пока то приложение соберет данные в файл, затем обработать эти данные и записать в таблицу на SQL Server
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622613
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
do until чего надо
doevents
loop
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622691
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И все-таки в доках про sleep ничего нати не могу.
Может кто нибудь напишет какой нибудь код с его использованием или с использованием функции Timer???
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622713
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Мой вариант не годится?
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622736
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир СанычМой вариант не годится?
цикл это хорошо, но в зависимости от загруженности компа не дает точного интервала времени, это очень важно. Хорошо если данные успеют собраться за этот интервал, а если нет? Растягивать процедуру тоже не очень хочеться, теряется оперативность.
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622745
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Во-первых, условие выхода из цикла можно сделать и по проверке Time.

Во-вторых, все-таки надежнее проверять не "точный интервал времени", а именно окончание того процесса, который должен завершиться.
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622784
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А всё таки - чего хотим дождаться ?
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622791
rush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://msa.polarcom.ru/st/d_1000445.htm
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622815
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир СанычВо-первых, условие выхода из цикла можно сделать и по проверке Time.

Во-вторых, все-таки надежнее проверять не "точный интервал времени", а именно окончание того процесса, который должен завершиться.
Я понял, это было бы замечательно, но я уже говорил что приложение независимое от ACCESSA, определить окончание его работы я не знаю как.
Можете представить себе нечто вроде notepad в котором запускается скрипт через меню, результатом его работы - Lod файл, который и используется для обратотки.
Кстати может подскажете еще и следующее: Использую для запуска скрипта написанного на Windows Script Host следующий код:

Call Shell("C:\Documents and Settings\Администратор\Рабочий стол\test1.wsf")

Пишет "Invalid procedure coll or argument". Не понятно на что ругается ?
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622921
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rushhttp://msa.polarcom.ru/st/d_1000445.htm
А вы сами не пробовали использовать данный код?
У меня комп ругается на сл блок:

Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
hHandle As Long, ByVal dwMilliseconds As Long) As Long

Пишет Only comments may appear after end Sub, end function, or end property????
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622934
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Nikolay GerasimovЯ понял, это было бы замечательно, но я уже говорил что приложение независимое от ACCESSA, определить окончание его работы я не знаю как.
Можете представить себе нечто вроде notepad в котором запускается скрипт через меню, результатом его работы - Lod файл, который и используется для обратотки.

Почему нельзя в качестве условия выхода из цикла взять проверку существования файла?
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622945
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ловите

Declare Function TerminateProcess Lib "kernel32.dll" (ByVal h As Long, ByVal rc As Long) As Long
Declare Function WaitForSingleObject Lib "kernel32.dll" (ByVal h As Long, ByVal rc As Long) As Long
Declare Function GetExitCodeProcess Lib "kernel32.dll" (ByVal h As Long, s As Long) As Long

Function RunTask(TS As String, tmo As Long, Optional mode = vbHide) As Long
Dim PID, h, rc As Long
Dim s As Long
PID = 0
RunTask = -1

On Error Resume Next
PID = Shell(TS, mode)
If PID = 0 Then Exit Function

h = OpenProcess(&H1F0FFF, 0, PID)
If h = 0 Then Exit Function

rc = WaitForSingleObject(h, tmo * 1000)
If rc = WAIT_TIMEOUT Or rc = WAIT_FAILED Then
rc = TerminateProcess(h, STILL_ACTIVE)
If rc = 0 Then
CloseHandle (h)
Exit Function
End If
Sleep (1000)
End If

rc = GetExitCodeProcess(h, s)
If rc <> 0 Then RunTask = s

CloseHandle (h)
Exit Function
End Function
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622950
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константы забил.


Public Const WAIT_TIMEOUT = 258
Public Const WAIT_ABANDONED = 128
Public Const WAIT_OBJECT_0 = 0
Public Const WAIT_FAILED = &HFFFFFFFF
Public Const STILL_ACTIVE = &H103
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622960
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так - правильнее. Саныч, потри предыдущий пост, плиз :)

Nikolay GerasimovЯ понял, это было бы замечательно, но я уже говорил что приложение независимое от ACCESSA, определить окончание его работы я не знаю как.
В таком случае тебе совет _боба очень поможет:
_bobа если знаешь хэндл процесса, конца которого дожидаешься - waitforsingleobject, это самое правильное решение, потому что ты действительно дожидаешься окончания и в то же время можно указать, через какое время прекратить ожидание

Nikolay Gerasimov
Кстати может подскажете еще и следующее: Использую для запуска скрипта написанного на Windows Script Host следующий код:

Call Shell("C:\Documents and Settings\Администратор\Рабочий стол\test1.wsf")

Пишет "Invalid procedure coll or argument". Не понятно на что ругается ?
А это случайно у тебя не ярлык? На него именно такое вылетает. Как побороть - пока не понял :) На отсутствие файла он ругается "File not found".
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32622994
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
UniccoСаныч, потри предыдущий пост, плиз :)
Done.
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32623006
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шеллу нужно подсовывать путь к исполняему файлу

Если лениво искать, то можно написать
Shell (Environ$("COMSPEC") & " /C " & path)
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32623020
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Саныч Nikolay GerasimovЯ понял, это было бы замечательно, но я уже говорил что приложение независимое от ACCESSA, определить окончание его работы я не знаю как.
Можете представить себе нечто вроде notepad в котором запускается скрипт через меню, результатом его работы - Lod файл, который и используется для обратотки.

Почему нельзя в качестве условия выхода из цикла взять проверку существования файла?
А это мысль. Благодарю. Хотя файл создается во время ее выполнения, но можно попробовать проверять его размер. Пока растет значит выполняется. остановился - значит все!
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32623030
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Nikolay GerasimovХотя файл создается во время ее выполнения, но можно попробовать проверять его размер. Пока растет значит выполняется. остановился - значит все!
Есть другой вариант. Пробовать открывать файл для письма. Если ошибка, значит рано. Если нет, значит закрываем и выходим из цикла.

Правда, это не получится, если та программа в процессе письма все время открывает и закрывает его.
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32623056
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey ShШеллу нужно подсовывать путь к исполняему файлу

Если лениво искать, то можно написать
Shell (Environ$("COMSPEC") & " /C " & path)
не совсем понятно что происходит вроде бы комменда обработана, но скрипт не запущен.????
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32623071
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда вместо ключика /C поставь /K - cmd(command) никуда не слиняет и посмотри что он кажет
...
Рейтинг: 0 / 0
временная остановка процедуры
    #32623098
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey ShТогда вместо ключика /C поставь /K - cmd(command) никуда не слиняет и посмотри что он кажет
Да, интересно. Запускается коммандная строка. Но это не то что надо.
Может можно както попробовать открыть этот скрипт (т.е. давать коммнду не на запуск, а на открытие)???
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / временная остановка процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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