Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

AV при использовании IBUpdateSQLW [D7, FireBird 1.5]


Илья К. ©   (2010-09-07 11:14:00) 

Народ, второй раз сталкиваюсь с AV при использовании IBUpdateSQLW.  После добавления очередного (не важно какого по счету) IBUpdateSQLW и привязки его к IBDataSet запускаю проект, всё работает как задумано, закрываю задачу и тут выскакивает AV. Убираю последний добавленный IBUpdateSQLW, запускаю проект, закрываю -  AV исчез. Снова добавляю IBUpdateSQLW, настраиваю (при чём табличка и СКЛ выражения элементарные), снова появляется AV.

Подскажите, кто сталкивался, как лечить?


Илья К.   (2010-09-07 16:17:00) [1]

Народ, ещё минутку вашего внимания. Отдельное спасибо Amoeba_ , статья натолкнула на мысли.

Вобщем ощибка была тут:
destructor TIBUpdateSQL.Destroy;
var
 UpdateKind: TUpdateKind;
begin
ошибка тут>>  if Assigned(FDataSet) and (FDataSet.UpdateObject = Self) then
   FDataSet.UpdateObject := nil;
 for UpdateKind := Low(TUpdateKind) to High(TUpdateKind) do
   FSQLText[UpdateKind].Free;
 inherited Destroy;
end;

и то не ошибка, а глюк какой то, при уничтожении самого первого, по времени написания, IBUpdateSQLW параметр FDataSet был в унакцессабле.  

Решил так: удалил самый первый по времени написания IBUpdateSQLW, за тем добавил вновь, ошибка исчезла.


Илья К.   (2010-09-07 14:55:00) [2]

Народ, извините что отвлек ваше внимание, я собсно и не надеялся что вы чёнибудь ответите.

 Разъясняю для интересующихся. Из нескольких крупных и не очень проектов, эта ошибка, на ровном месте появилась в 2х. Понять/отловить её не могу, вот и поинтересовался, может у кого случалось такое.

[6]
 Простите сэр рыцарь, мне падавану сиволапому никогда не постичь сего благородного колдунства.

ПОВТОРЯЮ ДЛЯ "ОДАРЁННЫХ" ДЖЕДАЕВ: добавил компонент - возникает AV. Убираю компонент - AV исчезает.

Короче тема закрыта.


Amoeba_   (2010-09-07 13:34:00) [3]

Полагаю, что автору вопроса стоит ознакомиться с этой статьей:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1392


Palladin   (2010-09-07 13:25:00) [4]

а потом выяснится что юный падаван где-то впихнул непотребность на онклосе формы...

а в первый раз-то чем все закончилось?


Amoeba_   (2010-09-07 13:17:00) [5]


> ничё не нажимаю, ничё не выполняю, просто закрываю - возникает
> ошибка "AV".

Тогда может просто где-то в коде напортачено?


Илья К.   (2010-09-07 12:44:00) [6]

конкретная информация - Есть табличка:
CREATE TABLE PROD_CATS (
   PROD_CAT_ID     INTEGER NOT NULL,
   PROD_CAT_NAME   VARCHAR(64) NOT NULL,
   PROD_CAT_ORDER  INTEGER
);
ALTER TABLE PROD_CATS ADD CONSTRAINT PK_PROD_CATS PRIMARY KEY (PROD_CAT_ID);

В проект добавляем IBDataSet, транзакция на чтение. (далеко не первый ДатаСет). Пишу туда селект - select * from PROD_CATS

К нему привязываю IBUpdateSQLW, транзакция на изменение (он тоже далеко не первый в проекте). Настраиваю: кл.поле - PROD_CAT_ID, изменяемое поле -  PROD_CAT_NAME. Добавляю только инструкцию на изменение -
update PROD_CATS
set
 PROD_CAT_NAME = :PROD_CAT_NAME
where
 PROD_CAT_ID = :OLD_PROD_CAT_ID

Запускаю проект, ничё не нажимаю, ничё не выполняю, просто закрываю - возникает ошибка "AV".
Удаляю IBUpdateSQLW.
Запускаю проект, закрываю - ошибка не возникает.

Какой ещё конкретики?


Amoeba_   (2010-09-07 12:22:00) [7]

Это был просто тонкий намек на толстое обстоятельство: в вопросе напрочь отсутствует конкретнаяинформация. Отсюда и стандартный ответ тоже без конкретики.


Илья К.   (2010-09-07 11:50:00) [8]

Amoeba_ , очень информативно. И в чем же, по Вашему "глубокоуважаемому" мнению, кривость рук?


Amoeba_   (2010-09-07 11:46:00) [9]


> как лечить?

Для начала выпрямить собственные руки.


Наверх

Титульная страница Поиск, карта сайта Написать письмо