![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]
> как лечить?
Для начала выпрямить собственные руки.