-
Попытаюсь описать проблему как можно подробнее, ежели чего упущу, то доскажу потом.
Вобщем, где-то пару лет как я с переменным успехом пытаюсь писать клиентские приложения с использованием визуальных компонентов исключительно от DevExpress. Иногда дело идет, как по маслу, а иногда (как сейчас, например) - не очень. Время от времени я сталкивался с этой проблемой, иногда удавалось бороть ее компромиссами в пользу других компонентов, но до глубинной сути возникающего непотребства докопаться мне так и не удалось. Суть проблемы в том, что, как мною замечено, компонент cxGrid очень не любит, когда какие-то изменения в датасете, им отображаемом, производятся помимо него. То есть, я имею в виду ситуацию, когда в OptionsData все операции (Insert, Delete etc.) зафолсены, а для вставки/редактирования записей используется отдельное диалоговое окно. Заметил также, что проблема проявляется, если в гриде заданы несколько вьюх, связанных между собой мастер-детальным отношением. При одной вьюхе с одним датасетом никаких AV почему-то не возникает. И самое интересное: после вставки новой записи AV возникает не всегда! От чего это зависит - тайна большая есть. Запись, кстати, при этом благополучно вставляется, но AV этот уже достал конкретно. Иногда бывает еще и так, что работаешь с формой спокойно, вставляешь-редактируешь, сколько хочешь, а потом только, когда форму закрываешь, вылетает AV.
Кто подскажет, может быть, я чего-то не учел? Кривой ли вообще, по вашему мнению, cxGrid?
Заранее спасибо!
-
Да! Привожу строку кода, на которой вылетает этот самый AV: end; :)))
-
Мастер-делал, "гридное" редактирование и т.п. - методы файл-серверного "мышления", рано или поздно привозящие траблы. А если сюда добавить еще и сторонние компоненты, то вот вам, Волобуев...
-
Гридного редактирования нету. Я же писал:
> То есть, я имею в виду ситуацию, когда в OptionsData все > операции (Insert, Delete etc.) зафолсены, а для вставки/редактирования > записей используется отдельное диалоговое окно.
-
> [0] GRAND © (11.11.08 12:20)
А редактируешь таки через датасет или сторонними запросами?
-
Через датасет. В диалоговых окнах компоненты TcxDBxxx
-
Датасеты - FIBPlus 6.4
-
> [0] GRAND © (11.11.08 12:20) > когда в OptionsData все операции (Insert, Delete etc.) зафолсены
Шаманство конечно, но если их затруить, а отсекать редактирование в каком нибудь обработчике?
-
Пробовал без отсекания в обработчике - не помогает.
-
Объясни разницу с т.зр. реализации компонент (если она не глючная, конечно) между редактированием в сетке и редактированием связанного с нею датасета.
Датасету ведь глубоко фиолетово КТО изменил запись (поле): юзер кнопками или приложение кодом
-
> Объясни разницу с т.зр. реализации компонент (если она не > глючная, конечно) между редактированием в сетке и редактированием > связанного с нею датасета.
В сетке не все поля визибле, а в диалоговом окне они отображаются и вводятся. Кроме того, есть поля, значения которых по умолчанию выставляются в зависимости от выбора юзером записи в некоем лукап-комбобох и значения соответствующего поля в другом датасете. При этом тупой лукап по иду не нужен, а нужно копирование значения с возможностью его последующего изменения.
> Датасету ведь глубоко фиолетово КТО изменил запись (поле): > юзер кнопками или приложение кодом
Датасету - да. Но я и не на датасет вовсе грешу.
-
> [10] GRAND © (11.11.08 15:45) А компоненты, стесняюсь спросить, правильные или с китайского рынка?
-
Рыночные... :)
-
Но с исходниками!
-
> [12] GRAND © (11.11.08 16:04)
Так может на рынке что попутали? Я конечно с ними мало работал, но с правильными и не помню подобной байды, хотя вся работа практически строилась по твоему сценарию.
-
Ты все-таки [2] внимательно почитай и подумай
-
> Мастер-делал, "гридное" редактирование и т.п. - методы файл- > серверного "мышления", рано или поздно привозящие траблы. >
Что можешь предложить взамен?
-
Собственно говоря, я толком и не понял, Ганз, что ты в [2] нагородил-то вообще и чего всем этим хотел сказать. Мастер-детал фтопку? Гридное редактирование суксь? А причем здесь файл-сервер (мы вроде о СУБД архитектуры КС говорим), какой образ мышления этот файл-сервер формирует и какие траблы рано или поздно привозит? Объяснись плиз!
-
> GRAND © (11.11.08 17:02) [17]
Ставим халявый ЭхЛиб и наслаждаемся жизнью. :)
-
Ждал, кто же будет первым с предложением ЭхЛиба! :))) ANB, у меня на той форме вверху два грида, в одном из которых две вьюхи замастердеталенные и внизу один тоже с двумя вьюхами замастердеталенными. Какой тут ЭхЛиб?
Эххх... :(
|