Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Позиционирование на контрол.   Найти похожие ветки 

 
NiGGa ©   (2006-09-01 17:01) [0]

Доброго времени суток.

Пишем клиента к БД. Нужно решать сдежующую задачу: пользователь заполняет некий дилог(точнеее диалог с некоторым количеством поддиалогов), по окончанию редактирования(т.е. когда пользователь жмет кнопку "Принять" ил "Сохранить"), с сервера зовется процедура, которой передаются значения заполненных пользователем полей диалога. Следственно серверная процедурка может ругнуться(механизм этого ругательства еще не определ, т.к. по суи зависит от задачи в целом) к примеру что поле не заполнено, или заполнено неправильно. В таком случае диалог не закрывается, пользователю показывается соответствующее сообщение, и курсор перемещается на контрол, который соответствует ошибочному полю.

Собственно хотелось услышать фозможные механизмы реализации такого случая, т.е. что должна вернуть серверная процедура, и каким образом по этому ответу вычислить нужный контрол и дать ему фокус.

В данный момент, такой механизм у нас есть, т.е. он был еще до меня, но там серверная процедура в прямую возвращала имя контрола, потом FindComponent и SetFocus. Но механизм не устраивает, хотя бы потому, что серверная процедура не должна иметь даже малейшего представления об названиях контролов клиента, я так считаю.


 
novill ©   (2006-09-01 17:08) [1]

продецедура возвращает код ошибки, клиент его анализирует.

Вариантов реализации дуром. ) Хоть через case, хоть через раздачу имен контролам в соответствии с именами полей :)


 
StriderMan ©   (2006-09-01 17:22) [2]


> NiGGa ©   (01.09.06 17:01)

а в таблице поля наверное соответствуют контролам на форме?
и названия наверное похожие.

тогда мне кажется существующий механизм вполне нормальный.


 
Ketmar ©   (2006-09-01 17:41) [3]

через ORB.
нет, лучше выкладывать на какой-от сайт, а потом с него качать.
нет, ещё лучше использовать ICMP-пакеты.
у меня ещё много идей. надо?


 
Sam Stone ©   (2006-09-01 19:12) [4]

Возвращать номер "кривого" параметра.
А вообще, на мой взгляд, лучше всякие проверки на невведеное значение или введеное коряво реализовать прямо на форме и не давать нажать кнопку "ОК", пока что-то не так.


 
NiGGa ©   (2006-09-03 13:46) [5]

2 Ketmar
Что есть ORB?
Бредовые идеи оставте при себе, или выскажете здесь, когда ветку в "потрепатся" перенесут.

2 Sam Stone
У нас этика такая, что основной функционал лежит на Оракле, на клиента только отображение информации, и дергание процедур, ничего более.

2 novill
Оно то так хорошо, но автоматизации в таком решении почти нет, буквально в лоб, к тому же с маштабируемостью такого решения плохо.


 
NiGGa ©   (2006-09-03 13:48) [6]

2 StriderMan
По моему описанию ожет он и кажется нормальным, но я видел реализацию, более ужасных вещей я сам не писал даже когда программировал еще на Васике в школе.


 
Ketmar ©   (2006-09-03 13:59) [7]

> [5] NiGGa ©   (03.09.06 13:46)
ваши бредовые советы можете оставить там же. а я овечаю на вопрос. как задан -- такой и ответ. а что есть ORB -- гугль расскажет.


 
Юрий Зотов ©   (2006-09-03 18:57) [8]

> NiGGa ©   (01.09.06 17:01)

Если процедура вернет ИМЯ_ТАБЛИЦЫ.ИМЯ_ПОЛЯ, то вычислить связанный с эти полем контрол тоже несложно. Зато достигается основная (насколько я понял) задача - разделение слоя данных и слоя отображения.


 
NiGGa ©   (2006-09-05 14:39) [9]

[8]
Есть такой вариант. Но с ним тоже есть ряд трудностей, к примеру полей с таким ориджином может быть несколько.


 
Ega23 ©   (2006-09-05 14:48) [10]

Вообще-то проверки нехило делать ПЕРЕД регистрацией.



Страницы: 1 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
15-1157526130
Задачник
2006-09-06 11:02
2006.09.24
Еще один баян.


15-1157414747
Дураг
2006-09-05 04:05
2006.09.24
Microsoft будет обучать "бомжей" информационным технологиям.


1-1155502154
FireMan_Alexey
2006-08-14 00:49
2006.09.24
Вопрос по поводу Hook-a


2-1157509534
O.O
2006-09-06 06:25
2006.09.24
Приложение на весь экран


1-1155198521
Всилий
2006-08-10 12:28
2006.09.24
Вовремя исполнения Form:=nil