|
Почему виснет
|
|||
---|---|---|---|
#18+
Нужно опрашивать контроллер каждую секунду. Попробовал с помощью таймера. Зависла!!! Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Еще попутный вопрос видел тему многопоточность VBA. А как дело обстоит в VB6??? Просто допутим у меня в программе идет оповещение. Если абонент занят, то приходится усыплять Call sapiSleep(20000), затем снова пытаюсь оповестить. И прога зависает на 20сек.? Можно чтобы процедуры параллельно обрабатывались??? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 17:16 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Может не так понял, но если ты вот это: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Размести на форме элемент управления таймер и в нем вызывай ReadCoils с интервалом 1000 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 18:03 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
TpaBka, я мало еще работаю в VB6. поэтому не правильно назвал. Так надо было: вытащить на форму таймер и в коде так???: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 18:24 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Скажите а таймер сразу запускается. как его на кнопку посадить? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 18:33 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
В общем запускался когда надо??? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 18:55 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Кстати вопрос про многопоточность тоже в силе!!!!!!!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 18:57 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Техник55В общем запускался когда надо???таймер запускается, когда ему выставлено Enabled = True ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 19:59 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Техник55Кстати вопрос про многопоточность тоже в силе!!!!!!!!!!многопоточность делается с помощью проекта ActiveX exe ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 20:00 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Antonariyмногопоточность делается с помощью проекта ActiveX exe Ииии..ыыыыыы Извини, Antonariy, но я эту глючность полностью так и не осилил и в производство запустить так и не решился. Проще уж кривой ActiveX какой-нибудь регистрировать-подсовывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 20:40 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Под ActiveX имел ввиду ocx by microsoft а не exe by me. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 20:41 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Дмитрий77Antonariyмногопоточность делается с помощью проекта ActiveX exe Ииии..ыыыыыы Извини, Antonariy, но я эту глючность полностью так и не осилил и в производство запустить так и не решился.Соболезную. Дмитрий77Проще уж кривой ActiveX какой-нибудь регистрировать-подсовывать.Каким боком оно относится к многопоточности? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 22:43 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Я мало грамотен в этих вещах (чуть-чуть читал в нете), но хотелось бы немного уточнить. Многопоточность - улучшает продуктивность проги!!! Делает возможным работать процедурам одновременно (параллельно)!!! Я правильно понимаю??? Antonariyмногопоточность делается с помощью проекта ActiveX exe Не подскажите с чего начать, наметки какие-нибудь??? Вообще я читал мельком , что в VB6 это тяжело реализуется?! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2012, 03:26 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Техник55Многопоточность - улучшает продуктивность проги!!!Нет. Техник55Antonariyмногопоточность делается с помощью проекта ActiveX exe Не подскажите с чего начать, наметки какие-нибудь??? Вообще я читал мельком , что в VB6 это тяжело реализуется?! 10555629 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2012, 09:08 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Техник55Скажите а таймер сразу запускается. как его на кнопку посадить?У таймера есть свойство Interval (интервал через который будет отрабатываться событие Timer1_Timer, задается в мсек) Его можно задавать, например, на событии Form_Load или же в самих параметрах таймера. Если отрабатываемая процедура в таймере очень громоздкая и занимает больше времени чем заданный интервал, возможно, возникнет очередь этого события, хотя я в этом не совсем уверен. Но на всякий случай напиши вот так: Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2012, 09:56 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
AntonariyСоболезную. Дмитрий77Проще уж кривой ActiveX какой-нибудь регистрировать-подсовывать.Каким боком оно относится к многопоточности? Мне не влом объяснить свою позицию и что к чему. Я сталкивался(-юсь) с двумя проблемами: 1. Когда надо получить информацию из инета и по факту получения сделать чего-либо. Приконнектиться к сайту и чего-нибудь считать 2. Когда надо проконвертировать файл и по факту конвертации сделать чего-либо Как вызвать функцию чтоб она не стопорила собой программу В обоих случаях процесс может занять какое-то время в течении которого прога "висит", 1)эн-то не-кра-си-во 2)и при этом логически само действо не критично с точки зрения выполнения других полезных действий в запущенной проге. Логика подсказывает, что действо его надо делать "в отдельном потоке". >1. Когда надо получить информацию из инета и по факту получения сделать чего-либо. Сколько ни мудохался со всякими синхроннистями-асинхронностями, оптимальным решением оказалось таки: Microsoft Internet Transfer Control 6.0 (SP6) Это ответ по поводу "каким боком". Не знаю каким, но она не мешает нажимать кнопки в проге пока ждет, не рисует песочных часиков и не требует напряга мозгов для реализации. >2. Когда надо проконвертировать файл и по факту конвертации сделать чего-либо Если уж надо подождать и не охота вешать, то 1) Запускаю через Shell 2) Отслеживаю таймером процесс по имени пока тот жив. Вот и вся реализация многопоточности. Ну, правда напоролся на глюк (решаемый) недавно: Запуск внешней программы, контроль работает ли еще она через таймер. Не могу понять глюк. А про ActiveX.exe, ссылка что вы дали: /topic/844531&pg=2 Заканчивается приведением "примера кривого пути" при регистрации компонента. Или я еще должен реестр перерывать ручками и затычки писать на все случаи жизни? Мне этого честно хватило, чтобы прекратить изыскания на данную тему и не тратить время на ActiveX.exe . ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2012, 12:51 |
|
Почему виснет
|
|||
---|---|---|---|
#18+
Дмитрий77Это ответ по поводу "каким боком".Он это делает асинхронно, потоки тут ни при чем. Дмитрий77А про ActiveX.exe, ссылка что вы дали: /topic/844531&pg=2 Заканчивается приведением "примера кривого пути" при регистрации компонента. Или я еще должен реестр перерывать ручками и затычки писать на все случаи жизни? Мне этого честно хватило, чтобы прекратить изыскания на данную тему и не тратить время на ActiveX.exe .Не смог я это воспроизвести, все работало с любыми путями. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2012, 13:28 |
|
|
start [/forum/topic.php?fid=60&msg=37889590&tid=2157563]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 293ms |
total: | 440ms |
0 / 0 |