|
|
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
Люди, подскажите, наверняка кто-то встречался. Пишу вывод на Form1->Memo1->Lines-> значений, вычисляемых в большом цикле. Выводится очень хорошо. Но проблема в том, что пока цикл не кончится, форма как бы зависает и я не могу её мышью ни передвинуть на другое место, ни закрыть. Если же чудом удаётся передвинуть форму, то цикл останавливается и программа зависает навсегда. В Visual Basic есть для этого специальная функция DoEvents. Есть ли аналог в С++ ? Заранее спасибо Max Pro ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 17:13:56 |
|
||
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
Эх. Сам нашёл. Не знаю то ли это: Код: plaintext Max Pro ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 19:56:10 |
|
||
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
Вот ещё способ. Работает точно также. Тоже не даёт окно закрыть. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 20:19:46 |
|
||
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
Посмотрите пример C:\BCB6\Examples\Apps\Threads\ (или как там соответствено у Вас) - кажется, это то, что Вам надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 20:30:58 |
|
||
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
gl@zПосмотрите пример C:\BCB6\Examples\Apps\Threads\ (или как там соответствено у Вас) - кажется, это то, что Вам надо. Посмотрел. Там та же проблема - пока не закончится сортировка окно невозможно закрыть. Хорошо у меня компьютер слабенький, а то и проверить не смог бы (сортировка идёт довольно быстро). Остаётся маленький вопрос: как во время выполнения обработчика кнопки (у меня долгий цикл) разрешить С++ закрыть окно по нажатию на кнопочку с крестиком в углу окна либо по Crtl+F4 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 20:43:14 |
|
||
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
Max Pro либо по Crtl+F4 ? Пардон, Alt+F4 конечно же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 20:44:24 |
|
||
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
Я имел ввиду - запихнуть длинныЙ цикл в самостоятелную Thread. Когда-то у меня была такая ситуация - так и решил. Возможно, проект кудо-то валяется... Поищу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 20:51:04 |
|
||
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
Кажется, вспомнил - если не ошибаюсь. Копайте в сторону Synchronize Metod - по памяти, там было решение моей проблеммы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 20:59:59 |
|
||
|
VB6 --> C++ Builder 6: Подскажите аналог DoEvents
|
|||
|---|---|---|---|
|
#18+
// Important: Methods and properties of objects in VCL can only be // used in a method called using Synchronize, for example: // // Synchronize(UpdateCaption); // // where UpdateCaption could look like: // // void __fastcall SndThread::UpdateCaption() // { // Form1->Caption = "Updated in a thread"; // } //--------------------------------------------------------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 21:03:31 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=271&tid=2027928]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
88ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 438ms |

| 0 / 0 |
