|
Запуск процедуры и остановка ее работы
|
|||
---|---|---|---|
#18+
Народ, есть такая задача: имеется форма и менюшка. По выбору одного пункта меню мы вызываем функцию, в которой посредством нижеуказанной команды вызывается хранимая процедура sqlSleep. Процедура просто выполняет ожидание количества времени, указанного в аргументе. EXECUTE IMMEDIATE 'SELECT sqlSleep(10) qqq FROM dual'; В теле функции процедура вызывается в бесконечном цикле (while true). Надо по двойному щелчку по форме остановить выполнение цикла. Для этого первым оператором цикла является вызов функции Yield(), но почему-то двойной щелчок ничего не ловит. Что делать, подскажите, плз.! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2004, 14:54 |
|
Запуск процедуры и остановка ее работы
|
|||
---|---|---|---|
#18+
Вот, можно кое-что посмотреть насчет параллельной работы: http://www.justpbinfo.com/techdocs/Async_PB6.asp Да, и как вы выходите из цикла. Может быть продемонстрируете код? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2004, 15:20 |
|
Запуск процедуры и остановка ее работы
|
|||
---|---|---|---|
#18+
DO WHILE true Yield() IF cancelping = true THEN // cancelping = false EXIT ELSE if connectedtodatabase then EXECUTE IMMEDIATE 'SELECT perso.sqlSleep(10) qqq FROM dual'; IF sqlca.SQLCode < 0 THEN test_long_message = sqlca.SQLErrText ll_l = -1 END IF else ll_l = -1 end if if ll_l < 0 then disconnect using sqlca ; connectedtodatabase = false f_setsqlca() connect using sqlca; if sqlca.sqlcode <> 0 then connectedtodatabase = false else connectedtodatabase = true f_update_table() test_long_message = string(now(),"hh:mm:ss") + '>>> ' + 'Connected' f_update_table() end if END IF END IF LOOP ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2004, 15:22 |
|
Запуск процедуры и остановка ее работы
|
|||
---|---|---|---|
#18+
А по одному щелчку срабатывает? Или по кнопке? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2004, 15:44 |
|
Запуск процедуры и остановка ее работы
|
|||
---|---|---|---|
#18+
А на doubleclick формы cancelping = true написано? :) Сколько времени выполняется процедура? Может 10 - это в минутах? Интерфейс прорисовывается? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2004, 16:16 |
|
Запуск процедуры и остановка ее работы
|
|||
---|---|---|---|
#18+
А нельзя ли пояснить, зачем вы этот sqlSleep делаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2004, 18:43 |
|
Запуск процедуры и остановка ее работы
|
|||
---|---|---|---|
#18+
cancelping по doubleclick делал, интерфейс не прорисовывался, но я сделал как написано в статье, ссылка на которую есть в этой теме, и был доволен. Мнение о ПБ поднялось, так как я думал, что в нем нет понятия Процесс. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2004, 09:47 |
|
|
start [/forum/topic.php?fid=15&fpage=110&tid=1339334]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 242ms |
total: | 413ms |
0 / 0 |