Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / StaticText / 22 сообщений из 22, страница 1 из 1
23.03.2006, 13:33
    #33620143
Khodiki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Прога работает минут 15
И чтобы пользователь не скучал и не думал, что прога повисла, я меняю содержимое StaticText.
Пока окно активно все прекрасно в StaticText меняется.
Но стоит (работаем на Windows XP) сделать активной другую задачу - StaticText перестает меняться и не меняется даже если окно опять активно.
Может надо сделать какую-то другую индикацию.
Или что -то настроить в этой
...
Рейтинг: 0 / 0
23.03.2006, 13:56
    #33620261
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
SetRedraw(True) - пробовали
...
Рейтинг: 0 / 0
23.03.2006, 14:02
    #33620279
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Код: plaintext
sleep()
или SharedObject.
...
Рейтинг: 0 / 0
23.03.2006, 15:45
    #33620767
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
или yield()

но с шаред обьектом можно сэмулировать дополнительный Thread если вызывать ф-ю постом
...
Рейтинг: 0 / 0
23.03.2006, 20:53
    #33621777
savosin_sergey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
уважаемые! раскройте мысль о Shared Object, пожалуйста -- стало интересно..
...
Рейтинг: 0 / 0
23.03.2006, 20:59
    #33621784
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
savosin_sergeyуважаемые! раскройте мысль о Shared Object, пожалуйста -- стало интересно..
А что именно? Почитайте описание Shared Object. Как уже было отмечено - это создание отдельного thread'а на этот объект. Заведите объект, который чего-то выводит переодически, а в другом объекте меняйте этот счетчик.
Да, и насчет sleep() это я перепутал, yield() конечно, же.
...
Рейтинг: 0 / 0
23.03.2006, 21:31
    #33621817
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
переносите свою логику в невизуальный обьект
вместо того чтобы делать create/destroy

делаете

Код: plaintext
1.
2.
3.
4.
5.
6.
//вместо in_myobject_var = create n_myobject_class_name
SharedObjectRegister ( 'n_myobject_class_name' , 'mySharedObjectName' )
SharedObjectGet ( 'mySharedObjectName' , in_myobject_var )

//вместо destroy in_myobject_var
SharedObjectUnregister ( 'mySharedObjectName' )

теперь если у in_myobject_var
вызвать какую нибудь ф-ю постом - она будет выполнятся в отдельном потоке (thread)

вот только общаться с визуальными обьектами и результаты получать можно только с помощью еще одного невизуального обьекта (уже обычного)
...
Рейтинг: 0 / 0
24.03.2006, 08:56
    #33622274
Khodiki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
я не поняла а чем это поможет
если я вызываю другую прогармму - у меня перестает меняться StaticText
...
Рейтинг: 0 / 0
24.03.2006, 09:16
    #33622310
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Khodikiя не поняла а чем это поможет
если я вызываю другую прогармму - у меня перестает меняться StaticText
Это не другая программа, это два потока (thread) в одной программе, и выполняются они не зависимо друг от друга. В одном Вы меняете значение, а в другом - выводите.
...
Рейтинг: 0 / 0
24.03.2006, 16:30
    #33624095
rcryo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
если PB10 воспроизводи AVI в Animation control
...
Рейтинг: 0 / 0
24.03.2006, 16:39
    #33624135
Khodiki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Локшин МаркЭто не другая программа, это два потока (thread) в одной программе, и выполняются они не зависимо друг от друга. В одном Вы меняете значение, а в другом - выводите.

Как не другая?
Я запускаю программу - она работает и меняет Static Text
В это время( чтобы не ждать) я начинаю работь с другой программой- просто так, например сижу в интернете.
И у меня перестает меняться StaticText и уже не меняется даже если опять прогу сделать текущей. Хотя задача полностью отрабатывает.
Мне просто бы хотелось, чтобы индикатор работы был какой нибудь

Power Builder 9
...
Рейтинг: 0 / 0
24.03.2006, 16:53
    #33624195
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
KhodikiКак не другая?
Я запускаю программу - она работает и меняет Static Text
Да так не другая.
Перепишите свою программу чтобы она в одном потоке считала, а в другом выводила Static Text. Используйте для этого Shared Object.
Про остальные программы я речь не веду.
Если Вашему пониманию Shared Object по прежнему останется не доступен, то используйте yield().
...
Рейтинг: 0 / 0
24.03.2006, 17:50
    #33624398
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Khodiki...
Мне просто бы хотелось, чтобы индикатор работы был какой нибудь
...

А чем Вас собственно ProgressBar не устраивает?
---
С уважением, IKAR

ikar@ikarhomecenter.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
24.03.2006, 17:57
    #33624419
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
2 Mark
Если почитать тему сначала - там упоминается "другая программа".

2 Khodiki
В WinXP так работает, и просто настройками это не решить.
если в момент работы программы у вас есть цикл - вставьте в него Yield()
все будет отрисовываться НО и все кнопки будут нажиматься, так что нужны доп усилия по дизаблу контролов.

если эти 15 мин - это SQL (или что-то похожее) то без SharedObject не обойтись.

если ни то ни другое вас не устраивает - смиритесь с таким поведением программы в WinXP.
...
Рейтинг: 0 / 0
24.03.2006, 18:00
    #33624426
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
IkarА чем Вас собственно ProgressBar не устраивает?
Он тоже не будет отрисовываться в WinXP после переключения в любую другую программу и обратно в вашу.
...
Рейтинг: 0 / 0
25.03.2006, 11:38
    #33625006
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Dmitry.Если почитать тему сначала - там упоминается "другая программа".
Упоминаться то упоминается, но она с вопросом перерисовки никак не связана. В XP действительно, если не теряется фокус, то окно обновляется, а в случае потери PB его больше не перерисовывает пока событие не завершиться, ну либо специальные меры принять, как написано выше.
...
Рейтинг: 0 / 0
25.03.2006, 15:35
    #33625192
18-я весна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
IMHO, в данном конкретном случае будет достаточно просто yield() вставить после вывода в statictext
...
Рейтинг: 0 / 0
26.03.2006, 11:45
    #33625623
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
18-я веснаIMHO, в данном конкретном случае будет достаточно просто yield() вставить после вывода в statictext
Только нужно обратить внимание на замечание
Dmitry. НО и все кнопки будут нажиматься, так что нужны доп усилия по дизаблу контролов.
и не только нажиматься, но и обрабатываться, и не только кнопки но и меню, закрытие окна и т.д. Если это не нужно, то нужно все запрещать. Если нужно - то необходимо следить аккуратно следить за нелокальными переменными и объектами.

PS. Анатолий, а зачем Вы пишите под именем 18-я весна? :)
...
Рейтинг: 0 / 0
26.03.2006, 12:16
    #33625637
lokshin_mark
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Вот пример работы shared objects.
Кстати, интересно, а сколько новых глюков схватит PBVM от многопоточной работы :)
...
Рейтинг: 0 / 0
26.03.2006, 16:34
    #33625807
18-я весна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Локшин Марк 18-я веснаIMHO, в данном конкретном случае будет достаточно просто yield() вставить после вывода в statictext
Только нужно обратить внимание на замечание
Dmitry. НО и все кнопки будут нажиматься, так что нужны доп усилия по дизаблу контролов.
и не только нажиматься, но и обрабатываться, и не только кнопки но и меню, закрытие окна и т.д. Если это не нужно, то нужно все запрещать. Если нужно - то необходимо следить аккуратно следить за нелокальными переменными и объектами.
А при многопоточности разве нет той же проблемы?

PS. Анатолий, а зачем Вы пишите под именем 18-я весна? :)
Это мое настоящее имя :))
Просто форум сохраняет пароль для одного и того же имени только на одном копьютере одновременно. Поэтому когда я пишу из дому, то на работе приходится перелогиниваться, и наоборот. Вобщем проще под другим именем входить из дому :)
...
Рейтинг: 0 / 0
28.03.2006, 14:04
    #33629636
Khodiki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
Локшин Марк 18-я веснаIMHO, в данном конкретном случае будет достаточно просто yield() вставить после вывода в statictext
Только нужно обратить внимание на замечание
Dmitry. НО и все кнопки будут нажиматься, так что нужны доп усилия по дизаблу контролов.
и не только нажиматься, но и обрабатываться, и не только кнопки но и меню, закрытие окна и т.д. Если это не нужно, то нужно все запрещать. Если нужно - то необходимо следить аккуратно следить за нелокальными переменными и объектами.
Спасибо теперь работает
А я на само окно сделала дизаблу, а в конце енаблу, так что никаких усилий и работает.

Ikar Khodiki...
Мне просто бы хотелось, чтобы индикатор работы был какой нибудь
...

А чем Вас собственно ProgressBar не устраивает?
---
С уважением, IKAR

ikar@ikarhomecenter.ru
IkarHomeCenter
А это не смотрела, попробую обязательно
...
Рейтинг: 0 / 0
03.04.2006, 16:09
    #33641578
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
StaticText
18-я веснаА при многопоточности разве нет той же проблемы?
Ну потому что yield() будет в качестве "приляпки" написан потом, а объект уже писаться с учетом :)
KhodikiА я на само окно сделала дизаблу, а в конце енаблу, так что никаких усилий и работает.
А приложение не MDI?
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / StaticText / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]