|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.06.2011, 17:42 | #1 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
Ошибка обработки исключений try...except
procedure TForm1.FormCreate(Sender: TObject);
var a,b,c,d: string; rbb: integer; begin try dir := GetCurrentDir; fn:= 'C:\CNC SS v4.02\Config\Auto'; AssignFile(f,fn); Reset(f); readln(f,a); Form1.ComboBox1.Text:= a; readln(f,b); Form1.ComboBox2.Text:= b; readln(f,c); Form1.ComboBox3.Text:= c; readln(f,d); Form1.ComboBox4.Text:= d; closefile(f); SelLang; Form1.Timer1.Enabled:= True; except On EFilerError do begin rbb:=MessageDlg('Ошибка установки.Переустановите приложение заново.', mtError, [mbOk], 0) ; exit; end; end; end; Не понимаю, что не так? Программа при создании формы должна открывать файл, если он не обнаружен то вывести сообщение и не запускаться. А она все равно запускается и вылетает ошибка Нет доступа к файлу и виснет потом. Файл на месте всегда, это для исключения, если его не будет
даешь высокое напряжение
|
02.06.2011, 18:37 | #2 |
Форумчанин
Регистрация: 08.10.2010
Сообщений: 101
|
Даже если с exe`шника запустить?
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"
|
02.06.2011, 18:40 | #3 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
Для проверки я и запускаю с ехе-шника, предварительно специально убрав этот файл. Компилирую когда файл на месте. Мне и нужно с ехе-шника.
даешь высокое напряжение
|
02.06.2011, 19:12 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
скажите а зачем вы специализируете обработчик исключения?
да и знаете ли зачем служит тип EFilerError? Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
02.06.2011, 19:17 | #5 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
убрал, не помогает, она все равно начинает загружаться и искать файл. потом ошибка Что файл не найден и висит все
даешь высокое напряжение
|
02.06.2011, 20:09 | #6 |
Форумчанин
Регистрация: 06.01.2008
Сообщений: 180
|
Уважаемый, оператором Exit; вы вышли из процедуры/функции.
Вам же нужно что-то вроде Halt; |
02.06.2011, 20:44 | #7 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
мне нужно завершить процедуру Form1.Create и завершить приложение не запуская дальше
даешь высокое напряжение
|
02.06.2011, 20:58 | #8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Halt это завершить приложение. Если завершаем приложение, то естественно будет завершена работа ВСЕХ процедур. Application.terminate другой способ завершения приложения.
программа — запись алгоритма на языке понятном транслятору
|
|
02.06.2011, 22:01 | #9 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Надо быстрее код дать, пока "специалисты" не насоветовали:
Код:
Project/View Source: Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
02.06.2011, 22:03 | #10 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Цитата:
В его коде Exit не выполняется. Следовательно, его замена на Halt/Terminate ничего не даст.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка исключений | Ckomoroh | Общие вопросы Delphi | 6 | 21.03.2011 08:52 |
обработка исключений | user666 | Помощь студентам | 36 | 27.08.2010 18:00 |
ошибка при закрытии формы после обработки в потоке | furstenberg | Общие вопросы Delphi | 7 | 05.07.2010 12:19 |
Обработка исключений | _-Re@l-_ | Общие вопросы Delphi | 3 | 17.06.2010 08:53 |
WebBrowser и ошибка 404, идея ее обработки | celovec | Работа с сетью в Delphi | 3 | 22.02.2009 19:40 |