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

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

тсключение EDBEngineError [D7]


Страницы:   1 2 3 4 5

defen ©   (2009-10-21 15:16:00) 

Здравствуйте. Недавно поднимал тему о исключениях... Надовали советов,  но толком разобраться я не смог.
procedure SQLZapros;
var
SQLString:string;
begin
SQLString:='SELECT COUNT(*) AS Expr1 FROM usb WHERE id = '''+a+'''';
form1.Query1.Active:=false;
form1.Query1.SQL.Clear;
form1.Query1.SQL.Add(SQLString);
// перехват исключения
try
 form1.Query1.Active:=true;
Except On E:EDBEngineError do EjectUSB()
end;
if form1.DBText1.Caption='1' then
else
EjectUSB();
end;

подсакажите что не так. после строки form1.Query1.Active:=true; программа выдаёт ошибку при недоступной базе.


defen   (2009-10-21 16:07:00) [61]

Прохожу код построчно... F7


Anatoly Podgoretsky   (2009-10-21 16:07:00) [62]


> Врать мысла не вижу. Говорю как есть.

Именно что говоришь, а Москва словам не верит.


Сергей М.   (2009-10-21 16:04:00) [63]


> Не доходит до Except


Это он тебе сам сказал, что до него не доходит ?
На основании сделано чего такое умозаключение ?


defen   (2009-10-21 16:03:00) [64]


> Да ладно. Нас не обманешь.Либо стопорится на form1.Query1.
> Active:=false;Либо доходит до перехватчика.

Врать мысла не вижу. Говорю как есть.


Игорь Шевченко   (2009-10-21 16:02:00) [65]

http://ln.com.ua/~openxs/articles/smart-questions-ru.html


defen   (2009-10-21 16:01:00) [66]

Не вижу юмора. Объясни...


Anatoly Podgoretsky   (2009-10-21 16:01:00) [67]


> Не доходит до Except. Стопорит на try Query1.Active:=true;

Дольше ждать нужно.


Медвежонок Пятачок   (2009-10-21 15:59:00) [68]

Не доходит до Except

Да ладно. Нас не обманешь.
Либо стопорится на
form1.Query1.Active:= false;

Либо доходит до перехватчика.


Плохиш   (2009-10-21 15:59:00) [69]


> defen ©   (21.10.09 15:58) [16]

Что в ответе [3] не понятно?


defen   (2009-10-21 15:58:00) [70]

Не доходит до Except. Стопорит на try Query1.Active:=true;


Медвежонок Пятачок   (2009-10-21 15:56:00) [71]

вообще конечно своеобразный юмор в этом есть.
делаем запрос, который считает каунт.
к запросу судя по всему прикручен dbtext.
открываем запрос и бегом бежим смотреть что там в дбтексте нарисовалось.
и если флешка зарегистрирована только один раз, то позволяем ей пользоваться.

почти даже жаль, что задорнов с петросяном еще не освоили тему хумора в исходниках.


Сергей М.   (2009-10-21 15:54:00) [72]


> Ну например вот так


И тоже не факт что выплюнет..
Мало ли чудес скрывается в теле EjectUSB - та ведь тоже немаловероятно зачатие непредвиденных исключений ..


Сергей М.   (2009-10-21 15:52:00) [73]

Кто-кто ..
Он же сам сказал, что все флешки проходят через него)
Т.е. если стрёмный софт не справился с плевательной задачей, то автор софта всегда рядом на шухере - сам выдернет)


Медвежонок Пятачок   (2009-10-21 15:50:00) [74]

Ну например вот так

Except
EjectUSB()
end;


defen   (2009-10-21 15:49:00) [75]

:) Дык поможете?


Медвежонок Пятачок   (2009-10-21 15:47:00) [76]

Except
On E:EDBEngineError do EjectUSB()
end;


А если не EDBEngineError, то кто вражескую флешку с секретными картами аеродрома выплюнет?


defen   (2009-10-21 15:46:00) [77]

У Вас, я так полагаю своеобразный способ ответов...


Медвежонок Пятачок   (2009-10-21 15:44:00) [78]

Вот интересно мне, что движет эстетами, которые кладут TQuery на Form1, а процедуру обработки оформляют как ordinal procedure.

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


Anatoly Podgoretsky   (2009-10-21 15:41:00) [79]

Тут просто китайский метод, ноль фантазии.


defen   (2009-10-21 15:41:00) [80]

Все те же лица! :) Добре...


Страницы:   1 2 3 4 5

Наверх

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