Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Вниз

Куда деваются ошибки? 


Jony   (2002-02-25 11:09) [0]

Мастера, объясните! Уже не первый раз попадаю в такую ситуацию: при запуске программы из Delphi вылезает ошибка (в последнем случае - "Ошибка неизвестного типа", с чем связана - догадываюсь). Долго и нудно бьешься, чтобы ее выловить, мозги плавятся. И вдруг, случайно обнаруживаешь, что если запустить скомпилированный EXEшник, то никакой ошибки в этом месте нет. В чем здесь секрет? Если это какая-то закономерность, то как заранее определить, какая ошибка - "липовая"?



sniknik   (2002-02-25 12:53) [1]

Можеш прислать примерчик? Так чтобы как ты говорил в Delphi ошибка в exe нет. Возможно сам Delphi глючит у меня шестой проверю.



Jony   (2002-02-25 13:45) [2]

С "примерчиком" сложнее. Сам проект уже приличный, база на MSSQL тоже солидная. Делать вырезку - очень долго, да и обязательно где-то чего-то не учтешь. Могу подробно описать ситуации, при которых возникали такие моменты. Может удастся смоделировать на каком-то готовом проекте (я думаю это не сложно будет сделать).
1.(Вернее последняя, с которой столкнулся.) База на MSSQL. В DataModule - ADODataSet (пока без всяких наворотов типа ADOшных Properties, описанных в статье на "Королевстве", еще только пытаюсь с ними разобраться). Кроме полей из таблицы добавлены LookUpные поля из таблиц-справочников (вернее через их ADODataSet наборы в том же DataModule) через FieldsEditor по всем правилам теории: NewFields -> FieldType - LookUp и т.д.
А далее все и начинается. Если в такой набор добавляешь новую запись (Insert через Grid или Editы) после ввода значения в первое же поле выскакивает окно с "Ошибкой неизвестного типа". После определенного количества нажатий Enter - F9 (с той же ошибкой) можно вводить информацию в следующее поле, и предыдущее поле остается с информацией. В результате долгих и мучительных поисков удалось (надеюсь, что удалось) установить, что ошибка эта вылетает именно из-за LookUpных полей - ответ на попытку достать из справочника значение, соответствующее значению Null в поле набора, связанным со справочником в новой записи. Так вот, если проект откомпилировать и запустить EXEшник, то эта ошибка не появляется.
2. Воспроизведу по памяти, а то проект в таком состоянии, что проверить точно будет сложно. В таблице справочника на сервере сделан тригер на удаление - проверка использования справочной единицы в документах. В случае, если она используется - возвращается сообщение об этом. В проекте стоит обработчик такой ситуации (Try... Except) с соответствующим сообщением. В этом случае, если запустить проект из Delphi, то при попытке удалить справочное значение выскакивает ошибка с сообщением от тригера и после этого набор блокируется и любое действие при попытке его редактировать или даже прокрутить приводят к появлению этой ошибки и ничего больше сделать нельзя. А вот если запустить EXEшник, то, как и в предыдущем случае, эта ошибка не появляется, выдается окно с соответствующим сообщением из обработчика и программа нормально работает дальше.
Вот такие вот парадоксы.
Кто что скажет по этому поводу?



Юрий Жуков   (2002-02-25 15:31) [3]

Знаем такую ошибку.
Связана с лукап полями. Причем без IDE ее у тебя не будет - в борланде поставили try except (там в исходниках можно увидеть)
Вывод либо отключить в IDE остановку на ошибках, либо поставить LookupCashe := True;



alxx   (2002-02-26 01:58) [4]

А вот у меня была такая: Table is full. - при добавлении записи. Глюки dBase-овские. Что-то с индексами наглючилось.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.015 c
1-80546           ATLANTIDO             2002-03-08 00:34  2002.03.25  
Выделить цветом


4-80727           yus                   2002-01-24 21:06  2002.03.25  
Считывания секторов на диске(А:)


1-80504           pashka                2002-03-11 12:41  2002.03.25  
Разное


14-80657          nick_vstu             2002-02-10 01:42  2002.03.25  
Похожие сайты


6-80652           star                  2002-01-05 16:44  2002.03.25  
Вопрос к хакерам, часть вторая ...