Привет всем! Помогите разобраться с нестандартной ситуацией!
На третьем уровне дерева имеются вопросы к тесту. Ответ на вопрос проверяется в отдельной процедуре с появлением отдельного окна с сообщением типа ответ правильный или ответ неправильный. До вызовы form редактирования вопроса все ок, курсор никуда не убегает держит последнее поле, после редактирования какой либо записи и закрытия окна формы курсор всегда становится на эту запись которую отредактировал.
В чем проблема?
Почему прыгает курсор в tree
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Активист
- Сообщения: 128
- Зарегистрирован: 01 Декабрь 2005, 20:47
- Откуда: Минск
- Поблагодарили: 1 раз
- Контактная информация:
Почему прыгает курсор в tree
Специализация - программы для образования, делопроизводство, складской учет
Stalker
- WadimZapara
- Активист
- Сообщения: 181
- Зарегистрирован: 11 Июнь 2008, 12:11
- Откуда: Тамбов
Re: Почему прыгает курсор в tree
- четырежды прочёл, но вопроса не понял 

Компьютер имеет то преимущество перед мозгом, что им пользуются...
WadimZapara
- Игорь Столяров
- Ветеран движения
- Сообщения: 8073
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Re: Почему прыгает курсор в tree
Хе ! А я подумал, что все кроме меня в теме этого приложения для тестирования ...WadimZapara писал(а):- четырежды прочёл, но вопроса не понял

Там наверно автор сам запутался в своих мыслях - и вопрос о том, почему после редактирования записи в TREE курсор прыгает на другую ветку ?
У меня есть 2 варианта возникновения проблемы и ее решения:
1. Если используется один и тот же список на разных уровнях TREE (такое возможно) - нужно это обойти через ALIAS, что бы не было потери адресации записи.
2. Иначе добавь уникальный (PRIMARY) ключ для редактируемого списка - что бы была однозначная адресация каждой ветки TREE.
Ну или уточни вопрос. Только прочитай его перед отправкой ...

Make Clarion Great Again ! 
Игорь Столяров
-
- Активист
- Сообщения: 128
- Зарегистрирован: 01 Декабрь 2005, 20:47
- Откуда: Минск
- Поблагодарили: 1 раз
- Контактная информация:
Re: Почему прыгает курсор в tree
Прошу извинений если не корректно и не полно описал проблемму. А проблемма кроется в том, что при отступлении от стандартных действий вызова процедур, которые предлагают разработчики среды возникла данная непонятка. Дело в том что, процедура form, по определенным соображениям вызывалась не напрямую, а через промежуточную процедуру типа source, вставкой кода:
If Clip(status_pol) = 'Преподаватель'
UpdateZanat() !запуск процедуры редактирования
Else
!GlobalResponse = RequestCancelled
End
При замене данной вставки на :
If Clip(status_pol) = 'Преподаватель'
UpdateZanat()
GlobalResponse = RequestCancelled
Else
!GlobalResponse = RequestCancelled
End
Все встало на свои места.
Спосибо за отклики.
If Clip(status_pol) = 'Преподаватель'
UpdateZanat() !запуск процедуры редактирования
Else
!GlobalResponse = RequestCancelled
End
При замене данной вставки на :
If Clip(status_pol) = 'Преподаватель'
UpdateZanat()
GlobalResponse = RequestCancelled
Else
!GlobalResponse = RequestCancelled
End
Все встало на свои места.
Спосибо за отклики.
Специализация - программы для образования, делопроизводство, складской учет
Stalker
- Игорь Столяров
- Ветеран движения
- Сообщения: 8073
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Re: Почему прыгает курсор в tree
Пожалуйста ... но это не есть правильно.
FORM записывает в GlobalResponse для возврата в BROWSE успешность действий по заданному GlobalRequest.
Соответсвенно данная вставка всегда возвращает отмену операции модификации записи, и как следствие не производится обновление содержимого BROWSE.
Если позицирование указателя сбивалось - то оно и осталось, просто визуализация проблемы отложена до обновления списка ....
FORM записывает в GlobalResponse для возврата в BROWSE успешность действий по заданному GlobalRequest.
Соответсвенно данная вставка всегда возвращает отмену операции модификации записи, и как следствие не производится обновление содержимого BROWSE.
Если позицирование указателя сбивалось - то оно и осталось, просто визуализация проблемы отложена до обновления списка ....
Make Clarion Great Again ! 
Игорь Столяров
-
- ✯ Ветеран ✯
- Сообщения: 5172
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: Почему прыгает курсор в tree
ИМХО, вообще, не корректный код. Надо при событии NewSelection для Browse поставить код типа -
If Clip(status_pol) = 'Преподаватель'
?Change{prop:Enabled} = True
else
?Change{prop:Enabled} = False
end
И не надо думать о request и response. Browse сам разберется вызывать update или нет.
If Clip(status_pol) = 'Преподаватель'
?Change{prop:Enabled} = True
else
?Change{prop:Enabled} = False
end
И не надо думать о request и response. Browse сам разберется вызывать update или нет.
We are hard at work… for you. 

kreator
-
- Активист
- Сообщения: 128
- Зарегистрирован: 01 Декабрь 2005, 20:47
- Откуда: Минск
- Поблагодарили: 1 раз
- Контактная информация:
Re: Почему прыгает курсор в tree
Да прав оказался Игорь Столяров. Действительно не обновлялись записи дерева при коде
If Clip(status_pol) = 'Преподаватель'
UpdateZanat()
GlobalResponse = RequestCancelled
Else
!GlobalResponse = RequestCancelled
End
Изменив код на:
If Clip(status_pol) = 'Преподаватель'
UpdateZanat() !запуск процедуры редактирования
Else
GlobalResponse = RequestCancelled
End
все встало на свои места.
Предложение вставить код
If Clip(status_pol) = 'Преподаватель'
?Change{prop:Enabled} = True
else
?Change{prop:Enabled} = False
end
не прошло
Спосибо еще раз всем.
If Clip(status_pol) = 'Преподаватель'
UpdateZanat()
GlobalResponse = RequestCancelled
Else
!GlobalResponse = RequestCancelled
End
Изменив код на:
If Clip(status_pol) = 'Преподаватель'
UpdateZanat() !запуск процедуры редактирования
Else
GlobalResponse = RequestCancelled
End
все встало на свои места.
Предложение вставить код
If Clip(status_pol) = 'Преподаватель'
?Change{prop:Enabled} = True
else
?Change{prop:Enabled} = False
end
не прошло
Спосибо еще раз всем.
Специализация - программы для образования, делопроизводство, складской учет
Stalker
- Дед Пахом
- Старичок
- Сообщения: 3300
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
Re: Почему прыгает курсор в tree
"?Change{prop:Enabled} = True" и не могло сработать, Prop:Enabled только на чтение, попробуй наоборот: ?Change{Prop:Disable} = true|false
С уважением, ДП
Дед Пахом
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)