|
|
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Кто может подсказать как можно приостановить на некоторое время выполнение модуля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 10:38:09 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
В процедуре поставить либо "Stop", либо красный круг, либо задержку таймером... Stepler (щёлк-щёлк!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 10:40:21 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
SteplerВ процедуре поставить либо "Stop", либо красный круг, либо задержку таймером... Stepler (щёлк-щёлк!!) не подскажете на счет таймера, как сделать? В Helpe размыто както написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 10:42:52 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
если хочешь приостановить ход программы до какого-то действия юзера, выведи диалоговую форму, если просто чтобы код минутку постоял, поставь Sleep, а если знаешь хэндл процесса, конца которого дожидаешься - waitforsingleobject, это самое правильное решение, потому что ты действительно дожидаешься окончания и в то же время можно указать, через какое время прекратить ожидание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 10:46:44 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
_bobесли хочешь приостановить ход программы до какого-то действия юзера, выведи диалоговую форму, если просто чтобы код минутку постоял, поставь Sleep, а если знаешь хэндл процесса, конца которого дожидаешься - waitforsingleobject, это самое правильное решение, потому что ты действительно дожидаешься окончания и в то же время можно указать, через какое время прекратить ожидание Суть вопроса следующая: необходимо из Accessa запустить работу независимого приложения, выждать 1 минуту, пока то приложение соберет данные в файл, затем обработать эти данные и записать в таблицу на SQL Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 10:51:26 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
do until чего надо doevents loop ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 10:52:23 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
И все-таки в доках про sleep ничего нати не могу. Может кто нибудь напишет какой нибудь код с его использованием или с использованием функции Timer??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 11:10:49 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Мой вариант не годится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 11:16:14 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Владимир СанычМой вариант не годится? цикл это хорошо, но в зависимости от загруженности компа не дает точного интервала времени, это очень важно. Хорошо если данные успеют собраться за этот интервал, а если нет? Растягивать процедуру тоже не очень хочеться, теряется оперативность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 11:23:35 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Во-первых, условие выхода из цикла можно сделать и по проверке Time. Во-вторых, все-таки надежнее проверять не "точный интервал времени", а именно окончание того процесса, который должен завершиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 11:26:05 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
А всё таки - чего хотим дождаться ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 11:37:58 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
http://msa.polarcom.ru/st/d_1000445.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 11:39:16 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Владимир СанычВо-первых, условие выхода из цикла можно сделать и по проверке Time. Во-вторых, все-таки надежнее проверять не "точный интервал времени", а именно окончание того процесса, который должен завершиться. Я понял, это было бы замечательно, но я уже говорил что приложение независимое от ACCESSA, определить окончание его работы я не знаю как. Можете представить себе нечто вроде notepad в котором запускается скрипт через меню, результатом его работы - Lod файл, который и используется для обратотки. Кстати может подскажете еще и следующее: Использую для запуска скрипта написанного на Windows Script Host следующий код: Call Shell("C:\Documents and Settings\Администратор\Рабочий стол\test1.wsf") Пишет "Invalid procedure coll or argument". Не понятно на что ругается ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 11:47:54 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
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???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:19:42 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Nikolay GerasimovЯ понял, это было бы замечательно, но я уже говорил что приложение независимое от ACCESSA, определить окончание его работы я не знаю как. Можете представить себе нечто вроде notepad в котором запускается скрипт через меню, результатом его работы - Lod файл, который и используется для обратотки. Почему нельзя в качестве условия выхода из цикла взять проверку существования файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:23:32 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Ловите 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:25:55 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Константы забил. 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:27:44 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Вот так - правильнее. Саныч, потри предыдущий пост, плиз :) 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". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:29:54 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
UniccoСаныч, потри предыдущий пост, плиз :) Done. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:36:22 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Шеллу нужно подсовывать путь к исполняему файлу Если лениво искать, то можно написать Shell (Environ$("COMSPEC") & " /C " & path) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:39:21 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч Nikolay GerasimovЯ понял, это было бы замечательно, но я уже говорил что приложение независимое от ACCESSA, определить окончание его работы я не знаю как. Можете представить себе нечто вроде notepad в котором запускается скрипт через меню, результатом его работы - Lod файл, который и используется для обратотки. Почему нельзя в качестве условия выхода из цикла взять проверку существования файла? А это мысль. Благодарю. Хотя файл создается во время ее выполнения, но можно попробовать проверять его размер. Пока растет значит выполняется. остановился - значит все! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:44:17 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Nikolay GerasimovХотя файл создается во время ее выполнения, но можно попробовать проверять его размер. Пока растет значит выполняется. остановился - значит все! Есть другой вариант. Пробовать открывать файл для письма. Если ошибка, значит рано. Если нет, значит закрываем и выходим из цикла. Правда, это не получится, если та программа в процессе письма все время открывает и закрывает его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:47:08 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Alexey ShШеллу нужно подсовывать путь к исполняему файлу Если лениво искать, то можно написать Shell (Environ$("COMSPEC") & " /C " & path) не совсем понятно что происходит вроде бы комменда обработана, но скрипт не запущен.???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:53:11 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Тогда вместо ключика /C поставь /K - cmd(command) никуда не слиняет и посмотри что он кажет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 12:56:16 |
|
||
|
временная остановка процедуры
|
|||
|---|---|---|---|
|
#18+
Alexey ShТогда вместо ключика /C поставь /K - cmd(command) никуда не слиняет и посмотри что он кажет Да, интересно. Запускается коммандная строка. Но это не то что надо. Может можно както попробовать открыть этот скрипт (т.е. давать коммнду не на запуск, а на открытие)??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 13:07:04 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32622574&tid=1672911]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 343ms |

| 0 / 0 |
