Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.67 MB
Время: 0.017 c
15-1255453981
nstur
2009-10-13 21:13
2009.12.13
Руссификация в Delphi for PHP


15-1255788967
Артур Пирожков
2009-10-17 18:16
2009.12.13
Как общаться с ограниченным числом людей?


15-1255747691
Ruzzz
2009-10-17 06:48
2009.12.13
Красивое поведение при сворачивании в трей


2-1255649628
mm0
2009-10-16 03:33
2009.12.13
Фокус на главную форму


10-1160194093
zero-g
2006-10-07 08:08
2009.12.13
Delphi 7 + Visio 2003