Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Узанть, существое форма (окно) или нет? / 17 сообщений из 17, страница 1 из 1
10.08.2005, 16:17
    #33208575
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
Как в РВ можно узнать сушествут форма или нет?
Вызов следующий:

Window win
String win_name

SELECT Pole
INTO :win_name
FROM Table1
WHERE ...;

// я так полагаю здесь каким то образом надо проверить существование
OpenWithParm(win, 101, win_name)

(pfc - неиспользую)
===============================
PB 9.0.2 (7534) ASA 9.0.2 (2451)
...
Рейтинг: 0 / 0
10.08.2005, 16:23
    #33208597
rcryo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
пусть окна регистрируют сами себя в неком объекте - менеджере окон. У него потом и спрашивай, существует окно или нет
...
Рейтинг: 0 / 0
10.08.2005, 16:27
    #33208616
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
Еще есть варианты?

===============================
PB 9.0.2 (7534) ASA 9.0.2 (2451)
...
Рейтинг: 0 / 0
10.08.2005, 17:33
    #33208871
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
DIGITALPROКак в РВ можно узнать сушествут форма или нет?
Вызов следующий:

Window win
String win_name

SELECT Pole
INTO :win_name
FROM Table1
WHERE ...;

// я так полагаю здесь каким то образом надо проверить существование
OpenWithParm(win, 101, win_name)

(pfc - неиспользую)
===============================
PB 9.0.2 (7534) ASA 9.0.2 (2451)
Если подрузамевается окно MDI, то достаточно перебрать дочерние окна главного окна. Для других типов окон по видимому никаких стандартных способов перебрать список открытых окон или проверить на существование нет.
...
Рейтинг: 0 / 0
10.08.2005, 18:21
    #33209001
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
Можно посмотерть список объектов в библиотеке:
Код: plaintext
1.
2.
3.
sObjects = LibraryDirectory ( 'runtime_windows', DirWindow! )
if pos(sObjects, win_name + '~t') >  0  then
  OpenWithParam(win,  101 , win_name)
end if
...
Рейтинг: 0 / 0
10.08.2005, 18:39
    #33209040
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
White OwlМожно посмотерть список объектов в библиотеке:
Код: plaintext
1.
2.
3.
sObjects = LibraryDirectory ( 'runtime_windows', DirWindow! )
if pos(sObjects, win_name + '~t') >  0  then
  OpenWithParam(win,  101 , win_name)
end if

Поскольку речь идёт об ОКНЕ , то цитируемое - микроскопом по гвоздям.
Нужно посмотреть про ClassDefinition в Хелпе...
...
Рейтинг: 0 / 0
10.08.2005, 19:52
    #33209133
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
ФилиппПоскольку речь идёт об ОКНЕ , то цитируемое - микроскопом по гвоздям.
Нужно посмотреть про ClassDefinition в Хелпе...
Пример пожалуйста.
...
Рейтинг: 0 / 0
10.08.2005, 20:24
    #33209161
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function boolean nvf_validate_pbclass (string a_s_class_name)

ClassDefinition 	cd_classdef
IF IsNull(a_s_class_name) THEN RETURN FALSE
IF trim(a_s_class_name) = "" THEN RETURN FALSE

cd_classdef = FindClassDefinition(a_s_class_name)
IF isnull(cd_classdef) THEN RETURN FALSE
RETURN TRUE
...
Рейтинг: 0 / 0
11.08.2005, 08:33
    #33209514
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
Филипп
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function boolean nvf_validate_pbclass (string a_s_class_name)

ClassDefinition 	cd_classdef
IF IsNull(a_s_class_name) THEN RETURN FALSE
IF trim(a_s_class_name) = "" THEN RETURN FALSE

cd_classdef = FindClassDefinition(a_s_class_name)
IF isnull(cd_classdef) THEN RETURN FALSE
RETURN TRUE


А зачем использовать nvf_validate_pbclass, ведь и так прекрасно работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ClassDefinition cd_windef
cd_windef = FindClassDefinition("w_report_ie1")

if IsNull(cd_windef) then
	MessageBox('Message', 'Нет такого окна')
else
	MessageBox('Message', 'Все ОК')
end if;

И Большое СПАСИБО!
...
Рейтинг: 0 / 0
11.08.2005, 08:38
    #33209519
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
DIGITALPRO
А зачем использовать nvf_validate_pbclass, ведь и так прекрасно работает
А затем, что это намёк на нежелательность повторения этого кода каждый раз когда тебе нужно удостовериться, что класс существует...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
03.12.2010, 09:55
    #36992584
SHKoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
мне нужно проверить существование какого либо окна. конкретный класс указывать не удастся. в моем приложении может быть масса открытых окон так и любое из них. перечислять все нет возможности.
потому нужно проверить, есть ли хоть одно открытое окно.
спасибо.
...
Рейтинг: 0 / 0
03.12.2010, 14:27
    #36993505
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
SHKoder,

Ничего не понял, что нужно проверить? Есть ли окно? Для MDI это выполняют функциии GetFirstSheet/GetNextSheet. Для не MDI окон (и самого родительского MDI окна) внутри PB никаких функций нет. Только предварительно сохранять в переменных. Можно через функции Windows API пытаться искать у программы открытые окна, возможно так и получится чего-то понять...
...
Рейтинг: 0 / 0
05.12.2010, 09:08
    #36995596
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
Функция вернет 1, если окно открыто.
...
Рейтинг: 0 / 0
06.12.2010, 21:18
    #36998199
yaCooler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
Если у окон есть предок, который можно переопределить - сделай на нем менеджер окон, чтобы при открытии каждое окно в нем прописывалось, а при закрытии - удалялось.
...
Рейтинг: 0 / 0
07.12.2010, 16:45
    #36999988
SHKoder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
Код: plaintext
1.
2.
3.
4.
5.
wSheet = ParentWindow.GetFirstSheet()
IF IsValid(wSheet) THEN
	wName = wsheet.ClassName()
           MessageBox("Информация", "Необходимо закрыть все активные окна")
	return			
END IF
решил вот так
спасибо всем.
у меня MDI приложение
...
Рейтинг: 0 / 0
09.12.2010, 11:34
    #37003925
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
SHKoderMessageBox("Информация", "Необходимо закрыть все активные окна")
Сам бы и позакрывал, зачем юзера об этом просить ;).
...
Рейтинг: 0 / 0
10.12.2010, 14:28
    #37007295
+/-
+/-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узанть, существое форма (окно) или нет?
>> Сам бы и позакрывал, зачем юзера об этом просить ;).
Даже если юзер чего то там не сохранил ? или открыл отчет который строился пол-дня , а потом случайно нажал не на тот пункт меню?
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Узанть, существое форма (окно) или нет? / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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