Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как вырубить приложение из функции.


Автор: CosmoMan 23.7.2005, 13:10
У меня код на подключение при Form1.Create файлов.
Если файла нет, то вызывется метод, выводящий фатальную ошибку
и далее:
Form1.Top=-1000;
Form1.Close;
Application.Terminate;
Application.Destroy;

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

Как сделать, чтобы после метода "Фатальной ошибки" у меня выполнение
программой каких либо действий резко прекращалось, память освобождалась и приложение аварийно завершалось.

Автор: RaIDeR 23.7.2005, 13:24
А что тут такого сложного ? Если Я всё правельно понял, то:

Код

if not FileExists('c:\MyFile.txt') then Application.Terminate;

Автор: Poseidon 23.7.2005, 13:40
Используй Halt

Цитата
Halt инициирует аварийное завершение программы

Автор: CosmoMan 23.7.2005, 18:46
Poseidon - большое спсибо. Функция и впрям волшебная. Четыре симола и програ вырубается.
Цитата
А что тут такого сложного ?

Аааа... smile У меня функция, которая подсоединяет файлы к программе(1,2 3 фала или 0 если все сразу).
Эта функция вызывает функии обслуживанию каждого конкретного файла. Уже в этой ф-ции идет проверка, есть ли файл. Если нет, то вызывается метод специального програмного класса, который выводит сообщение об ошибке и вызывает метод этого же власс ProgramIsCrash,
который и завершает программу.
Если бы я делал как вы советывали, то у меня помимо многоих лишних действий все равно бы ничего не получилость, т.к. Application.Terminate все
равно не вызовет выход из ф-ции Form1.Create. В том то и вся фишка.

Poseidon - еще раз спсибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)