Текущий архив: 2009.12.13;
Скачать: CL | DM;
Внизтсключение EDBEngineError Найти похожие ветки
← →
defen © (2009-10-21 15:16) [0]Здравствуйте. Недавно поднимал тему о исключениях... Надовали советов, но толком разобраться я не смог.
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;
программа выдаёт ошибку при недоступной базе.
← →
Игорь Шевченко © (2009-10-21 15:20) [1]
> программа выдаёт ошибку при недоступной базе.
Секретную ошибку.
Война давно кончилась, пора перестать пускать поезда под откос.
← →
Anatoly Podgoretsky © (2009-10-21 15:21) [2]Вылазь из подполья.
← →
Сергей М. © (2009-10-21 15:22) [3]Сними крыжик "Stop On Delphi Exceptions" в Debuger Options -> Language Exceptions
← →
Медвежонок Пятачок © (2009-10-21 15:31) [4]чудесный код.
глобальные переменные, контроль чего-то там по содержимому контролов на формах, напроч отсутствующие параметры процедур и функций.
плюс уверенность, что кроме EDBEngineError ничего плохого произойти не может.
← →
Сергей М. © (2009-10-21 15:38) [5]
> procedure SQLZapros;
> SQLString:="SELECT COUNT(*) AS Expr1 FROM usb WHERE id =
Почему же Expr1, а не Vyrazh1 ?)
Что за жуткая смесь из транслита и буржуйского языка ? Чтобы запутать вражескую разведку ?)
← →
defen © (2009-10-21 15:41) [6]Все те же лица! :) Добре...
← →
Anatoly Podgoretsky © (2009-10-21 15:41) [7]Тут просто китайский метод, ноль фантазии.
← →
Медвежонок Пятачок © (2009-10-21 15:44) [8]Вот интересно мне, что движет эстетами, которые кладут TQuery на Form1, а процедуру обработки оформляют как ordinal procedure.
которую и вызвать-то стремно, так как надо всегда иметь в ввиду, что без проинициализированной формы она упадет
← →
defen © (2009-10-21 15:46) [9]У Вас, я так полагаю своеобразный способ ответов...
← →
Медвежонок Пятачок © (2009-10-21 15:47) [10]Except
On E:EDBEngineError do EjectUSB()
end;
А если не EDBEngineError, то кто вражескую флешку с секретными картами аеродрома выплюнет?
← →
defen © (2009-10-21 15:49) [11]:) Дык поможете?
← →
Медвежонок Пятачок © (2009-10-21 15:50) [12]Ну например вот так
Except
EjectUSB()
end;
← →
Сергей М. © (2009-10-21 15:52) [13]Кто-кто ..
Он же сам сказал, что все флешки проходят через него)
Т.е. если стрёмный софт не справился с плевательной задачей, то автор софта всегда рядом на шухере - сам выдернет)
← →
Сергей М. © (2009-10-21 15:54) [14]
> Ну например вот так
И тоже не факт что выплюнет..
Мало ли чудес скрывается в теле EjectUSB - та ведь тоже немаловероятно зачатие непредвиденных исключений ..
← →
Медвежонок Пятачок © (2009-10-21 15:56) [15]вообще конечно своеобразный юмор в этом есть.
делаем запрос, который считает каунт.
к запросу судя по всему прикручен dbtext.
открываем запрос и бегом бежим смотреть что там в дбтексте нарисовалось.
и если флешка зарегистрирована только один раз, то позволяем ей пользоваться.
почти даже жаль, что задорнов с петросяном еще не освоили тему хумора в исходниках.
← →
defen © (2009-10-21 15:58) [16]Не доходит до Except. Стопорит на try Query1.Active:=true;
← →
Плохиш © (2009-10-21 15:59) [17]
> defen © (21.10.09 15:58) [16]
Что в ответе [3] не понятно?
← →
Медвежонок Пятачок © (2009-10-21 15:59) [18]Не доходит до Except
Да ладно. Нас не обманешь.
Либо стопорится на
form1.Query1.Active:=false;
Либо доходит до перехватчика.
← →
Anatoly Podgoretsky © (2009-10-21 16:01) [19]
> Не доходит до Except. Стопорит на try Query1.Active:=true;
Дольше ждать нужно.
← →
defen © (2009-10-21 16:01) [20]Не вижу юмора. Объясни...
← →
Игорь Шевченко © (2009-10-21 16:02) [21]http://ln.com.ua/~openxs/articles/smart-questions-ru.html
← →
defen © (2009-10-21 16:03) [22]
> Да ладно. Нас не обманешь.Либо стопорится на form1.Query1.
> Active:=false;Либо доходит до перехватчика.
Врать мысла не вижу. Говорю как есть.
← →
Сергей М. © (2009-10-21 16:04) [23]
> Не доходит до Except
Это он тебе сам сказал, что до него не доходит ?
На основании сделано чего такое умозаключение ?
← →
Anatoly Podgoretsky © (2009-10-21 16:07) [24]
> Врать мысла не вижу. Говорю как есть.
Именно что говоришь, а Москва словам не верит.
← →
defen © (2009-10-21 16:07) [25]Прохожу код построчно... F7
← →
Плохиш © (2009-10-21 16:08) [26]
> defen © (21.10.09 16:07) [25]
Образование в анкете поправь.
← →
clickmaker © (2009-10-21 16:09) [27]> после строкиform1.Query1.Active:=true; программа выдаёт
> ошибку при недоступной базе
а чего в этом странного? не понимаю
← →
Сергей М. © (2009-10-21 16:11) [28]
> Прохожу код построчно... F7
Ну и ?
Вот дошагал ты успешно до
form1.Query1.Active:=true;
делаешь очередной шаг и что видишь выскочившее окошко с дословной фразой "Я, программа, выдаю ошибку при недоступной базе" ?)
← →
Anatoly Podgoretsky © (2009-10-21 16:15) [29]
> У Вас, я так полагаю своеобразный способ ответов...
А ты у нас стойкий партизан...
← →
defen © (2009-10-21 16:17) [30]Хм... почти.
// Project raised exeption class EDBEngineError with message "Unknown database.
← →
defen © (2009-10-21 16:19) [31]
> А ты у нас стойкий партизан...
Уж и не знаю как расценивать подобное высказывание...
← →
Сергей М. © (2009-10-21 16:23) [32]
> defen © (21.10.09 16:17) [30]
Ну так разуй наконец глаза на [3] !
И разве это штопор ?)
Вполне внятная реакция на ожидаемое)
← →
Медвежонок Пятачок © (2009-10-21 16:25) [33]// Project raised exeption class EDBEngineError with message "Unknown database.
Ну и испугался что ли?
Жми F9 и проваливайся в свой еджект
← →
defen © (2009-10-21 16:25) [34]Я уже отработал этот вариант. Паботает. Но мне хотелось бы разобраться с исключениями. :)
← →
Медвежонок Пятачок © (2009-10-21 16:28) [35]"Unknown database
как же так, дифен?
такая важная система на страже родины, и вдруг анкновн датабасе.
"а если бы он вез патроны" ?
← →
defen © (2009-10-21 16:29) [36]
> Ну и испугался что ли?Жми F9 и проваливайся в свой еджект
Не жмется.... Всё рухает насмерть...
← →
Сергей М. © (2009-10-21 16:32) [37]
> Всё рухает насмерть
Это как ?)
← →
defen © (2009-10-21 16:32) [38]
> как же так, дифен?такая важная система на страже родины,
> и вдруг анкновн датабасе.
я думаю не сложно догадаться, что один из способов обойти отключение флешки, вытащить шнурок из сетевухи. Так что стёб в не зачёт! :)
← →
Медвежонок Пятачок © (2009-10-21 16:34) [39]почему не зачет?
а ну как подойдет генерал с планом наступления на флешке?
а там ему отлуп так как анкновн датабас.
← →
Медвежонок Пятачок © (2009-10-21 16:35) [40]и все.
трибунал за пособничество врагу и измену родине
← →
defen © (2009-10-21 16:35) [41]Ну вот так... Мрет прога и всё.
← →
Медвежонок Пятачок © (2009-10-21 16:37) [42]кстати, текст у дбтекста можно насильно изменить из другого приложения.
на время чека флеши по крайней мере.
дыра на дыре в общем.
← →
Игорь Шевченко © (2009-10-21 16:37) [43]
> Мрет прога и всё.
И че ?
← →
Anatoly Podgoretsky © (2009-10-21 16:37) [44]> defen (21.10.2009 16:35:41) [41]
И вот так уже 41 сообщение.
← →
defen © (2009-10-21 16:38) [45]А нефиг было сеть вырубать.... Ну а вообще. связь с базой временно. Хочу, чтобы база локально лежала, но обновлялась по сети...
← →
Медвежонок Пятачок © (2009-10-21 16:38) [46]у тебя поди еще и бде алиас используется в программе?
← →
Медвежонок Пятачок © (2009-10-21 16:39) [47]Хочу, чтобы база локально лежала
Мне становится страшно от нашей армии
← →
Сергей М. © (2009-10-21 16:40) [48]
Except
On E:EDBEngineError do
EjectUSB(); //<-- ставь точку останова сюда
end;
Теперь "жми F9 и проваливайся в свой еджект"
Ну как, теперь провалился куда надо ?)
← →
defen © (2009-10-21 16:41) [49]
> дыра на дыре в общем.
знаю... прога на узкий круг...
← →
Медвежонок Пятачок © (2009-10-21 16:41) [50]Дифен, ты все же прислушайся к реально полезному совету про чистку следов от флешек.
Пользы будет больше.
← →
Сергей М. © (2009-10-21 16:43) [51]
> чтобы база локально лежала, но обновлялась по сети
А как насчет "вытащить шнурок из сетевухи" в момент обновления ?
← →
Сергей М. © (2009-10-21 16:45) [52]Короче, не видать дембеля как собственных ушей)
← →
Медвежонок Пятачок © (2009-10-21 16:46) [53]для обхода защиты достаточно переименовать его бде алиас и создать свой с таким же именем.
который покажет на злоумышленнический файл дибейса/акцесса/чего угодно, и в котором все нужные флешки присутствуют.
← →
defen © (2009-10-21 16:47) [54]УГУ ПРОВАЛИЛСЯ! Ещё глубже и темнее стало! :))) [Fatal Error] Could not create output file ...............Project3.exe"
← →
defen © (2009-10-21 16:48) [55]стоп! похоже мой косяк...
← →
Медвежонок Пятачок © (2009-10-21 16:48) [56]вау. у системы третий релиз уже судя по всему.
← →
Сергей М. © (2009-10-21 16:49) [57]
> Could not create output file ...............Project3.exe"
Какого же ляда ты компилишь проект в момент когда запущен его ехе ?)
← →
defen © (2009-10-21 16:50) [58]не пашет блин.... :(((
← →
Сергей М. © (2009-10-21 16:51) [59]
> не пашет
И не сеет ?)
← →
defen © (2009-10-21 16:52) [60]Да я уже понял.... Не убил exeшник, который по [3] работал....
← →
defen © (2009-10-21 16:53) [61]
> И не сеет ?)
и не жнет...
← →
Сергей М. © (2009-10-21 16:53) [62]Чем дальше, тем чудесатее история))
← →
defen © (2009-10-21 16:55) [63]
> Дифен, ты все же прислушайся к реально полезному совету
> про чистку следов от флешек.
уже готова... Но надо доделать начатое...
← →
Сергей М. © (2009-10-21 16:56) [64]
> надо доделать начатое
Дембельский аккорд чтло ли ?)
← →
Anatoly Podgoretsky © (2009-10-21 16:58) [65]> defen (21.10.2009 16:38:45) [45]
Это как чесать левое ухо правой пяткой.
← →
Anatoly Podgoretsky © (2009-10-21 16:59) [66]> defen (21.10.2009 16:41:49) [49]
На ценителя
← →
Anatoly Podgoretsky © (2009-10-21 17:02) [67]> Сергей М. (21.10.2009 16:53:02) [62]
Закрыть бы ветку, да жалко такая чудная.
← →
Сергей М. © (2009-10-21 17:04) [68]
> Anatoly Podgoretsky © (21.10.09 17:02) [67]
Ну тебе видней)
← →
defen © (2009-10-21 17:09) [69]Я так полагаю, парни, мне помощи можно не ждать? Ну что же, вы ведь все тут такие МАСТЕРА, а помочь с исключениями несчастному военному не можете. Вот только Сергей М. пыхтит, бедолага, за вех.... Языко то вы потрепать любите... :)
← →
Сергей М. © (2009-10-21 17:12) [70]
> мне помощи можно не ждать?
Да как же тебе помочь, коль ты молчишь как партизан на допросе ?)
Мы ведь не видим, что у тебя там на экране творится в результате каждого проделанного тобой изменения по нашим рекомендациям)
Одни невнятные междометия вместо подробных отчетов о проделанном ..
← →
defen © (2009-10-21 17:13) [71]не забывайте, Товарищи,
Конференция для начинающих, а также для тех, кому сложно объяснить чего он хочет. Просьба к участникам быть взаимовежливыми, профессионалам отдельная просьба - быть снисходительными.>
← →
clickmaker © (2009-10-21 17:15) [72]> Конференция для начинающих, а также для тех, кому сложно
> объяснить чего он хочет
гы... валенком-то прикинуться проще всего
вот уж 71 пост, а так и непонятно в чем же проблема...
← →
defen © (2009-10-21 17:17) [73]Ну я ведь писал, что мне там эта бестия говорит про Unknown database. Я понимаю, что это вполне нормальная реакция на отсутствие базы, но надо это опустить. Нет базы, ну и EjectUSB() на неё....
← →
Сергей М. © (2009-10-21 17:18) [74]
> сложно объяснить чего он хочет
А чего знает, надо понимать, он не хочет ?
Ты на [3] отреагировал или нет ?
← →
defen © (2009-10-21 17:21) [75][34]
← →
defen © (2009-10-21 17:24) [76]Извини, не поблагодарил за [3]. Спасибо, работает. Я так понимаю она после компиляции так же работает?
← →
Сергей М. © (2009-10-21 17:25) [77]
> мне там эта бестия говорит про Unknown database
Эту "бестию" зовут Debuger.
Она следит за всеми исключениями и, если крыжик (см.[3]) стоит, то прежде чем передать управление в except-блок пользовательской обработки (если такой в коде предусмотрен), выводит диал.окно с инф-цией об этом исключении. По закрытию этого окна ход выполнения отлаживаемой программы возобновляется ожидаемым образом, т.е. управление будет передано в тот самый except-блок.
← →
Сергей М. © (2009-10-21 17:28) [78]
> она после компиляции так же работает?
Этот крыжик влияет только на поведение программы, исполняемой под встроенным отладчиком.
Если программа запущена не из-под отладчика, то абсолютно фиолетово, был ли установлен крыжик при сборке или не был.
← →
defen © (2009-10-21 17:28) [79]ХМ... Т.е все мои предъидущие попытки с exceptом провалились из-за [3]?
← →
Сергей М. © (2009-10-21 17:31) [80]Я понятия не имею, что у тебя там и куда "провалилось" - ты так и не сказал внятно, поймал ты точку останова в теле своего except-блока или не поймал.
← →
Сергей М. © (2009-10-21 17:33) [81]При установленном крыжике дебагер предупреждает тебя о возникшем исключении, чтобы ты был готов контролировать последующую собственную его обработку, если таковая тобой предусмотрена.
Вот и все.
← →
defen © (2009-10-21 17:38) [82]Завтра, вернее уже сегодня... подсуну ей базу, погляжу...
← →
defen © (2009-10-21 17:40) [83]Огромное спасибо! В блоке Exept все пошло по нужной ветке! Извините, если что не тпк, я ток учусь писать...
← →
Сергей М. © (2009-10-21 19:01) [84]
> ток учусь писать
А я думал, что аккорд)
← →
Плохиш © (2009-10-21 20:04) [85]
> я ток учусь писать...
Чукча - не читатель, чукча - писатель. Как это знакомо.
Страницы: 1 2 3 вся ветка
Текущий архив: 2009.12.13;
Скачать: CL | DM;
Память: 0.64 MB
Время: 0.008 c