|
Помогите с проблемкой
|
|||
---|---|---|---|
#18+
Создается non visual object на считывание с ком порта…. В котором стартует процедура star() … ib_runing = true //выполняется считывание do until ib_stop //пока не скажут остановится … считывание … yield() loop ib_runing = true //считывание закончено … при разрушении: ib_stop = true //остановить выполнение … do while ib_runing //пока считывание не завершено передаю управление yield() loop … программа вешается PS: заранее благодарен за помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 19:15 |
|
Помогите с проблемкой
|
|||
---|---|---|---|
#18+
Первое соображение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Что есть при разрушении ? Код написан в деструкторе объекта? В процедуре star() выполняется DESTROY this ? Если нет, то какие есть основания считать, что деструктор когда-либо выполнится? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 19:39 |
|
Помогите с проблемкой
|
|||
---|---|---|---|
#18+
извини действительно ib_runing = false в конце так оно в программе и стоит DESTROY вызывается из внешнего класа (n_ves)... просто при Destroy получается так, что утравление не передается на Start и как следдствие не выгружается из памяти ( как мне кажится).... я просто не сильна давно в программировании.. а вопрос весь в чем: как передать управление? ПС: спасибо PL99 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 19:47 |
|
Помогите с проблемкой
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
Код: plaintext 1. 2. 3. 4. 5. 6.
Проверено на PB EE 6.5.1/Win2000Prof Eng ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 20:08 |
|
Помогите с проблемкой
|
|||
---|---|---|---|
#18+
смысл: создается поток для считывание с порта (в примери упрашено и просто увиличивает число с интервалом 500 милесекунд) который нужно прекратить только при закрытии окна! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 10:33 |
|
Помогите с проблемкой
|
|||
---|---|---|---|
#18+
Понятно. Зависал деструктор. Вот так сделай, все должно заработать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
А теперь вопрос - зачем нужно городить весь огород с потоками? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 12:12 |
|
Помогите с проблемкой
|
|||
---|---|---|---|
#18+
Спасибо помогло! :-))) ... А весь этот огород: Есть устройство, подключенное к COM которое в свою очеридь постояно передает информацию (которую ссответсвенно надо считывать). Первоночально задача реализовывалась через передачу управления [yield()]. Этот не хитрый моневр седалвсе свободное время проца. а через поток проц практически не напригается!... Еще раз огромное спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 12:32 |
|
|
start [/forum/topic.php?fid=15&gotonew=1&tid=1339160]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
146ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 242ms |
total: | 498ms |
0 / 0 |