Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2015, 07:05   #1
EVOSandru6
 
Регистрация: 19.09.2014
Сообщений: 8
По умолчанию Как пользоваться флагами Dataset->State?

Привет,

Пользуюсь TcxDBGrid при клике на строках грида срабатывает событие dataChange у компонента DataSource , но при данном событии по неизвестным мне причинам происходит рекурсивное зацикливание.
Посоветовали использовать в обработчике события dataChange состояние датасета:

Код:
void __fastcall TBaseDataModule::zakazSourceDataChange(TObject *Sender, TField *Field)
{


if(!Field->IsNull){ 

   ShowMessage(Field->DataSet->State);
 }
 else{
  ShowMessage("Не определено поле");
 }


...

}

Почему то вываливается Access violation, ну это ладно. отыщу NULL, до этого у меня во всплывающем окошке показывалась "2". Что это за флаг состояния, каккие еще индексы бывают у данного State? Кто либо сталкивался с этим?

Последний раз редактировалось Stilet; 28.05.2015 в 07:25.
EVOSandru6 вне форума Ответить с цитированием
Старый 28.05.2015, 07:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Почему то вываливается Access violation
Поставь точку прерывания и посмотри какие значения у переменных и их свойств.
Цитата:
до этого у меня во всплывающем окошке показывалась "2".
dsEdit Active record can be modified.
Это описано в хелпе.
Там же описаны и остальные состояния. Открой хелп, вбей TDataSetState в поиск и почитай, там все расписано.
Цитата:
происходит рекурсивное зацикливание.
А это полный текст обработчика?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.05.2015, 08:12   #3
EVOSandru6
 
Регистрация: 19.09.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Поставь точку прерывания и посмотри какие значения у переменных и их свойств.

dsEdit Active record can be modified.
Это описано в хелпе.
Там же описаны и остальные состояния. Открой хелп, вбей TDataSetState в поиск и почитай, там все расписано.

А это полный текст обработчика?
Благодарю за отклик, к сожалению help у меня не открывается, тут
http://docwiki.embarcadero.com/Libra...TDataSet.State
есть немного информации, но ничего про флаги, не могли бы вы прислать из своего help, заранее спасибо.
EVOSandru6 вне форума Ответить с цитированием
Старый 28.05.2015, 08:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что, даже эта ссыль: http://docwiki.embarcadero.com/RADSt...Dataset_States
Не работает? О_о
Просто признайся что искать лень )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.05.2015, 09:16   #5
EVOSandru6
 
Регистрация: 19.09.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что, даже эта ссыль: http://docwiki.embarcadero.com/RADSt...Dataset_States
Не работает? О_о
Просто признайся что искать лень )
Я без Determining искал часов 5, моя совесть чиста, но тут почему то не целочисленные индексы в списке, а наподобие "dsInactive" "dsEdit" и т.д.

А у меня при ShowMessage(Field->DataSet->State) выкидывается то 2, то 3, странно все это .. За ссылку спасибо!

Последний раз редактировалось EVOSandru6; 28.05.2015 в 09:19.
EVOSandru6 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GDI как пользоваться Madmaxisss Visual C++ 3 14.12.2011 18:09
Строку из одного DataSet в другой DataSet Abbath1349 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 22.05.2011 19:26
SynEdit - как пользоваться? DimOn4Ik Компоненты Delphi 17 28.01.2011 04:06
Работа с флагами!!! Student117 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 19.11.2009 09:27
Как узнать state окна? TwiX Общие вопросы Delphi 2 03.08.2009 02:46