Конференция "Базы" » cxGrid6 - Access Violation [D7, IB6.x]
 
  • GRAND © (11.11.08 12:20) [0]
    Попытаюсь описать проблему как можно подробнее, ежели чего упущу, то доскажу потом.

    Вобщем, где-то пару лет как я с переменным успехом пытаюсь писать клиентские приложения с использованием визуальных компонентов исключительно от DevExpress. Иногда дело идет, как по маслу, а иногда (как сейчас, например) - не очень. Время от времени я сталкивался с этой проблемой, иногда удавалось бороть ее компромиссами в пользу других компонентов, но до глубинной сути возникающего непотребства докопаться мне так и не удалось. Суть проблемы в том, что, как мною замечено, компонент cxGrid очень не любит, когда какие-то изменения в датасете, им отображаемом, производятся помимо него. То есть, я имею в виду ситуацию, когда в OptionsData все операции (Insert, Delete etc.) зафолсены, а для вставки/редактирования записей используется отдельное диалоговое окно. Заметил также, что проблема проявляется, если в гриде заданы несколько вьюх, связанных между собой мастер-детальным отношением. При одной вьюхе с одним датасетом никаких AV почему-то не возникает. И самое интересное: после вставки новой записи AV возникает не всегда! От чего это зависит - тайна большая есть. Запись, кстати, при этом благополучно вставляется, но AV этот уже достал конкретно. Иногда бывает еще и так, что работаешь с формой спокойно, вставляешь-редактируешь, сколько хочешь, а потом только, когда форму закрываешь, вылетает AV.

    Кто подскажет, может быть, я чего-то не учел? Кривой ли вообще, по вашему мнению, cxGrid?

    Заранее спасибо!
  • GRAND © (11.11.08 12:22) [1]
    Да! Привожу строку кода, на которой вылетает этот самый AV:

    end;



    :)))
  • MsGuns © (11.11.08 12:43) [2]
    Мастер-делал, "гридное" редактирование и т.п. - методы файл-серверного "мышления", рано или поздно привозящие траблы. А если сюда добавить еще и сторонние компоненты, то вот вам, Волобуев...
  • GRAND © (11.11.08 12:49) [3]
    Гридного редактирования нету. Я же писал:


    > То есть, я имею в виду ситуацию, когда в OptionsData все
    > операции (Insert, Delete etc.) зафолсены, а для вставки/редактирования
    > записей используется отдельное диалоговое окно.
  • Sergey13 © (11.11.08 13:41) [4]
    > [0] GRAND ©   (11.11.08 12:20)

    А редактируешь таки через датасет или сторонними запросами?
  • GRAND © (11.11.08 13:45) [5]
    Через датасет. В диалоговых окнах компоненты TcxDBxxx
  • GRAND © (11.11.08 13:46) [6]
    Датасеты - FIBPlus 6.4
  • Sergey13 © (11.11.08 13:55) [7]
    > [0] GRAND ©   (11.11.08 12:20)
    > когда в OptionsData все операции (Insert, Delete etc.) зафолсены

    Шаманство конечно, но если их затруить, а отсекать редактирование в каком нибудь обработчике?
  • GRAND © (11.11.08 14:07) [8]
    Пробовал без отсекания в обработчике - не помогает.
  • MsGuns © (11.11.08 15:28) [9]
    Объясни разницу с т.зр. реализации компонент (если она не глючная, конечно) между редактированием в сетке и редактированием связанного с нею датасета.

    Датасету ведь глубоко фиолетово КТО изменил запись (поле): юзер кнопками или приложение кодом
  • GRAND © (11.11.08 15:45) [10]

    > Объясни разницу с т.зр. реализации компонент (если она не
    > глючная, конечно) между редактированием в сетке и редактированием
    > связанного с нею датасета.


    В сетке не все поля визибле, а в диалоговом окне они отображаются и вводятся. Кроме того, есть поля, значения которых по умолчанию выставляются в зависимости от выбора юзером записи в некоем лукап-комбобох и значения соответствующего поля в другом датасете. При этом тупой лукап по иду не нужен, а нужно копирование значения с возможностью его последующего изменения.


    > Датасету ведь глубоко фиолетово КТО изменил запись (поле):
    >  юзер кнопками или приложение кодом


    Датасету - да. Но я и не на датасет вовсе грешу.
  • Sergey13 © (11.11.08 15:59) [11]
    > [10] GRAND ©   (11.11.08 15:45)
    А компоненты, стесняюсь спросить, правильные или с китайского рынка?
  • GRAND © (11.11.08 16:04) [12]
    Рыночные... :)
  • GRAND © (11.11.08 16:04) [13]
    Но с исходниками!
  • Sergey13 © (11.11.08 16:24) [14]
    > [12] GRAND ©   (11.11.08 16:04)

    Так может на рынке что попутали? Я конечно с ними мало работал, но с правильными и не помню подобной байды, хотя вся работа практически строилась по твоему сценарию.
  • MsGuns © (11.11.08 16:49) [15]
    Ты все-таки [2] внимательно почитай и подумай
  • GRAND © (11.11.08 16:56) [16]

    > Мастер-делал, "гридное" редактирование и т.п. - методы файл-
    > серверного "мышления", рано или поздно привозящие траблы.
    >


    Что можешь предложить взамен?
  • GRAND © (11.11.08 17:02) [17]
    Собственно говоря, я толком и не понял, Ганз, что ты в [2] нагородил-то вообще и чего всем этим хотел сказать. Мастер-детал фтопку? Гридное редактирование суксь? А причем здесь файл-сервер (мы вроде о СУБД архитектуры КС говорим), какой образ мышления этот файл-сервер формирует и какие траблы рано или поздно привозит? Объяснись плиз!
  • ANB (11.11.08 19:43) [18]

    > GRAND ©   (11.11.08 17:02) [17]

    Ставим халявый ЭхЛиб и наслаждаемся жизнью.
    :)
  • GRAND © (11.11.08 21:51) [19]
    Ждал, кто же будет первым с предложением ЭхЛиба! :)))
    ANB, у меня на той форме вверху два грида, в одном из которых две вьюхи замастердеталенные и внизу один тоже с двумя вьюхами замастердеталенными. Какой тут ЭхЛиб?

    Эххх... :(
 
Конференция "Базы" » cxGrid6 - Access Violation [D7, IB6.x]
Есть новые Нет новых   [134477   +39][b:0][p:0.001]