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

но с шаред обьектом можно сэмулировать дополнительный Thread если вызывать ф-ю постом
...
Рейтинг: 0 / 0
StaticText
    #33621777
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уважаемые! раскройте мысль о Shared Object, пожалуйста -- стало интересно..
...
Рейтинг: 0 / 0
StaticText
    #33621784
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
savosin_sergeyуважаемые! раскройте мысль о Shared Object, пожалуйста -- стало интересно..
А что именно? Почитайте описание Shared Object. Как уже было отмечено - это создание отдельного thread'а на этот объект. Заведите объект, который чего-то выводит переодически, а в другом объекте меняйте этот счетчик.
Да, и насчет sleep() это я перепутал, yield() конечно, же.
...
Рейтинг: 0 / 0
StaticText
    #33621817
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переносите свою логику в невизуальный обьект
вместо того чтобы делать 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
StaticText
    #33622274
Khodiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не поняла а чем это поможет
если я вызываю другую прогармму - у меня перестает меняться StaticText
...
Рейтинг: 0 / 0
StaticText
    #33622310
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Khodikiя не поняла а чем это поможет
если я вызываю другую прогармму - у меня перестает меняться StaticText
Это не другая программа, это два потока (thread) в одной программе, и выполняются они не зависимо друг от друга. В одном Вы меняете значение, а в другом - выводите.
...
Рейтинг: 0 / 0
StaticText
    #33624095
rcryo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если PB10 воспроизводи AVI в Animation control
...
Рейтинг: 0 / 0
StaticText
    #33624135
Khodiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркЭто не другая программа, это два потока (thread) в одной программе, и выполняются они не зависимо друг от друга. В одном Вы меняете значение, а в другом - выводите.

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

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

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

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

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

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

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

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

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

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

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

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


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