Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.12.13;
Скачать: [xml.tar.bz2];

Вниз

тсключение 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.65 MB
Время: 0.008 c
15-1255206608
Юрий
2009-10-11 00:30
2009.12.13
С днем рождения ! 11 октября 2009 воскресенье


15-1255394936
brother
2009-10-13 04:48
2009.12.13
Посоветуйте программу для поиска в файлах по заголовкам


13-1124196631
Bronco
2005-08-16 16:50
2009.12.13
ADO.NET: можно ли преобразовать DBNull ?


2-1256201388
ghost
2009-10-22 12:49
2009.12.13
проверка на недопустимые символы


2-1256168975
TIF
2009-10-22 03:49
2009.12.13
Отобразить кнопку на панели задач (TaskBar)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский