powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / FRM-47319
6 сообщений из 6, страница 1 из 1
FRM-47319
    #36950600
Parovozik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, пишу поиск элемента в дерева, после находки выбираю его в дереве с помощью SET_TREE_SELECTION. Все работает. Но вот если запустить форму и сразу воспользоваться поиском (а не сначала установить курсор на узле дерева), то появляется ошибка FRM-47319: Cannot select the tree root node. На функциональность приложения не влияет, но все же не приятно. Да, дерево строю с помощью populate_tree.
...
Рейтинг: 0 / 0
FRM-47319
    #36951165
OmegaMale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Parovozik,

мне удалось воссоздать ситуацию только в том случае, если предварительно дерево не было построено, то есть вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
--
-- WHEN-NEW-FORM-INSTANCE :
--
DECLARE
	find_node FTREE.NODE;
	htree			ITEM;			
BEGIN
	htree := FIND_ITEM('BLOCK1.TREE1');
	--ftree.populate_tree(htree);
	find_node := Ftree.Find_Tree_Node(htree, 'Лист', Ftree.FIND_NEXT,
                 Ftree.NODE_LABEL, Ftree.ROOT_NODE, Ftree.ROOT_NODE);
                 
	FTREE.SET_TREE_SELECTION(
		htree,
		find_node,
		FTREE.SELECT_ON 
	);
END;
...
Рейтинг: 0 / 0
FRM-47319
    #36951172
OmegaMale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OmegaMale,

ну, то есть, либо дерево не построено, либо поиск ничего не нашёл. нужно проверять значение find_node
...
Рейтинг: 0 / 0
FRM-47319
    #36951311
Parovozik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не могу скопировать код, потому как на рабочей машине нет инета и и все usb закрыты. делаю примерно так:
дерево строится в триггере WHEN_NEW_FORM_INSTANCE, поиск по отдельной кнопке:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
find_node := Ftree.Find_Tree_Node(htree, 'Лист', Ftree.FIND_NEXT,
                 Ftree.NODE_LABEL, Ftree.ROOT_NODE, Ftree.ROOT_NODE);
if not ftree.id_null(find_node) then
FTREE.SET_TREE_SELECTION(
		htree,
		find_node,
		FTREE.SELECT_ON 
end if;
...
Рейтинг: 0 / 0
FRM-47319
    #36951336
OmegaMale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Parovozik,

предлагаю запустить в режиме отладки форму и пошагово посмотреть процесс и значения локальных переменных, возможно, что-то прояснится :)
...
Рейтинг: 0 / 0
FRM-47319
    #36951412
Parovozik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OmegaMale,
find_node не равно нулю, находит искомый узел, только в процессе появляется эта ошибка.
из значимых переменных :system.trigger_node пустая, по ходу дело в ней. не подскажете как ее установить можно?
ЗЫ. я на 6ке пишу, тут дерьмовенький отладчик, всего не посмотришь
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / FRM-47319
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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