|
StaticText
|
|||
---|---|---|---|
#18+
Прога работает минут 15 И чтобы пользователь не скучал и не думал, что прога повисла, я меняю содержимое StaticText. Пока окно активно все прекрасно в StaticText меняется. Но стоит (работаем на Windows XP) сделать активной другую задачу - StaticText перестает меняться и не меняется даже если окно опять активно. Может надо сделать какую-то другую индикацию. Или что -то настроить в этой ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2006, 13:33 |
|
StaticText
|
|||
---|---|---|---|
#18+
SetRedraw(True) - пробовали ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2006, 13:56 |
|
StaticText
|
|||
---|---|---|---|
#18+
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2006, 14:02 |
|
StaticText
|
|||
---|---|---|---|
#18+
или yield() но с шаред обьектом можно сэмулировать дополнительный Thread если вызывать ф-ю постом ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2006, 15:45 |
|
StaticText
|
|||
---|---|---|---|
#18+
уважаемые! раскройте мысль о Shared Object, пожалуйста -- стало интересно.. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2006, 20:53 |
|
StaticText
|
|||
---|---|---|---|
#18+
savosin_sergeyуважаемые! раскройте мысль о Shared Object, пожалуйста -- стало интересно.. А что именно? Почитайте описание Shared Object. Как уже было отмечено - это создание отдельного thread'а на этот объект. Заведите объект, который чего-то выводит переодически, а в другом объекте меняйте этот счетчик. Да, и насчет sleep() это я перепутал, yield() конечно, же. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2006, 20:59 |
|
StaticText
|
|||
---|---|---|---|
#18+
переносите свою логику в невизуальный обьект вместо того чтобы делать create/destroy делаете Код: plaintext 1. 2. 3. 4. 5. 6.
теперь если у in_myobject_var вызвать какую нибудь ф-ю постом - она будет выполнятся в отдельном потоке (thread) вот только общаться с визуальными обьектами и результаты получать можно только с помощью еще одного невизуального обьекта (уже обычного) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2006, 21:31 |
|
StaticText
|
|||
---|---|---|---|
#18+
я не поняла а чем это поможет если я вызываю другую прогармму - у меня перестает меняться StaticText ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 08:56 |
|
StaticText
|
|||
---|---|---|---|
#18+
Khodikiя не поняла а чем это поможет если я вызываю другую прогармму - у меня перестает меняться StaticText Это не другая программа, это два потока (thread) в одной программе, и выполняются они не зависимо друг от друга. В одном Вы меняете значение, а в другом - выводите. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 09:16 |
|
StaticText
|
|||
---|---|---|---|
#18+
если PB10 воспроизводи AVI в Animation control ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 16:30 |
|
StaticText
|
|||
---|---|---|---|
#18+
Локшин МаркЭто не другая программа, это два потока (thread) в одной программе, и выполняются они не зависимо друг от друга. В одном Вы меняете значение, а в другом - выводите. Как не другая? Я запускаю программу - она работает и меняет Static Text В это время( чтобы не ждать) я начинаю работь с другой программой- просто так, например сижу в интернете. И у меня перестает меняться StaticText и уже не меняется даже если опять прогу сделать текущей. Хотя задача полностью отрабатывает. Мне просто бы хотелось, чтобы индикатор работы был какой нибудь Power Builder 9 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 16:39 |
|
StaticText
|
|||
---|---|---|---|
#18+
KhodikiКак не другая? Я запускаю программу - она работает и меняет Static Text Да так не другая. Перепишите свою программу чтобы она в одном потоке считала, а в другом выводила Static Text. Используйте для этого Shared Object. Про остальные программы я речь не веду. Если Вашему пониманию Shared Object по прежнему останется не доступен, то используйте yield(). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 16:53 |
|
StaticText
|
|||
---|---|---|---|
#18+
Khodiki... Мне просто бы хотелось, чтобы индикатор работы был какой нибудь ... А чем Вас собственно ProgressBar не устраивает? --- С уважением, IKAR ikar@ikarhomecenter.ru IkarHomeCenter ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 17:50 |
|
StaticText
|
|||
---|---|---|---|
#18+
2 Mark Если почитать тему сначала - там упоминается "другая программа". 2 Khodiki В WinXP так работает, и просто настройками это не решить. если в момент работы программы у вас есть цикл - вставьте в него Yield() все будет отрисовываться НО и все кнопки будут нажиматься, так что нужны доп усилия по дизаблу контролов. если эти 15 мин - это SQL (или что-то похожее) то без SharedObject не обойтись. если ни то ни другое вас не устраивает - смиритесь с таким поведением программы в WinXP. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 17:57 |
|
StaticText
|
|||
---|---|---|---|
#18+
IkarА чем Вас собственно ProgressBar не устраивает? Он тоже не будет отрисовываться в WinXP после переключения в любую другую программу и обратно в вашу. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2006, 18:00 |
|
StaticText
|
|||
---|---|---|---|
#18+
Dmitry.Если почитать тему сначала - там упоминается "другая программа". Упоминаться то упоминается, но она с вопросом перерисовки никак не связана. В XP действительно, если не теряется фокус, то окно обновляется, а в случае потери PB его больше не перерисовывает пока событие не завершиться, ну либо специальные меры принять, как написано выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2006, 11:38 |
|
StaticText
|
|||
---|---|---|---|
#18+
IMHO, в данном конкретном случае будет достаточно просто yield() вставить после вывода в statictext ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2006, 15:35 |
|
StaticText
|
|||
---|---|---|---|
#18+
18-я веснаIMHO, в данном конкретном случае будет достаточно просто yield() вставить после вывода в statictext Только нужно обратить внимание на замечание Dmitry. НО и все кнопки будут нажиматься, так что нужны доп усилия по дизаблу контролов. и не только нажиматься, но и обрабатываться, и не только кнопки но и меню, закрытие окна и т.д. Если это не нужно, то нужно все запрещать. Если нужно - то необходимо следить аккуратно следить за нелокальными переменными и объектами. PS. Анатолий, а зачем Вы пишите под именем 18-я весна? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2006, 11:45 |
|
StaticText
|
|||
---|---|---|---|
#18+
Вот пример работы shared objects. Кстати, интересно, а сколько новых глюков схватит PBVM от многопоточной работы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2006, 12:16 |
|
StaticText
|
|||
---|---|---|---|
#18+
Локшин Марк 18-я веснаIMHO, в данном конкретном случае будет достаточно просто yield() вставить после вывода в statictext Только нужно обратить внимание на замечание Dmitry. НО и все кнопки будут нажиматься, так что нужны доп усилия по дизаблу контролов. и не только нажиматься, но и обрабатываться, и не только кнопки но и меню, закрытие окна и т.д. Если это не нужно, то нужно все запрещать. Если нужно - то необходимо следить аккуратно следить за нелокальными переменными и объектами. А при многопоточности разве нет той же проблемы? PS. Анатолий, а зачем Вы пишите под именем 18-я весна? :) Это мое настоящее имя :)) Просто форум сохраняет пароль для одного и того же имени только на одном копьютере одновременно. Поэтому когда я пишу из дому, то на работе приходится перелогиниваться, и наоборот. Вобщем проще под другим именем входить из дому :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2006, 16:34 |
|
StaticText
|
|||
---|---|---|---|
#18+
Локшин Марк 18-я веснаIMHO, в данном конкретном случае будет достаточно просто yield() вставить после вывода в statictext Только нужно обратить внимание на замечание Dmitry. НО и все кнопки будут нажиматься, так что нужны доп усилия по дизаблу контролов. и не только нажиматься, но и обрабатываться, и не только кнопки но и меню, закрытие окна и т.д. Если это не нужно, то нужно все запрещать. Если нужно - то необходимо следить аккуратно следить за нелокальными переменными и объектами. Спасибо теперь работает А я на само окно сделала дизаблу, а в конце енаблу, так что никаких усилий и работает. Ikar Khodiki... Мне просто бы хотелось, чтобы индикатор работы был какой нибудь ... А чем Вас собственно ProgressBar не устраивает? --- С уважением, IKAR ikar@ikarhomecenter.ru IkarHomeCenter А это не смотрела, попробую обязательно ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2006, 14:04 |
|
StaticText
|
|||
---|---|---|---|
#18+
18-я веснаА при многопоточности разве нет той же проблемы? Ну потому что yield() будет в качестве "приляпки" написан потом, а объект уже писаться с учетом :) KhodikiА я на само окно сделала дизаблу, а в конце енаблу, так что никаких усилий и работает. А приложение не MDI? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2006, 16:09 |
|
|
start [/forum/topic.php?fid=15&msg=33621784&tid=1337846]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 161ms |
0 / 0 |