![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование Halt.. [D5, 2000]
pathfinder © (2006-10-01 18:29:00)Добрый вечер.
Подскажите пожалуйста, в чем разница использования halt и exit? И как используется exitcode который можно указать в halt?
pathfinder (2006-10-01 23:36:00) [1]
> Ketmar © (01.10.06 23:29) [14]
Понятно. Спасибо:)
Ketmar (2006-10-01 23:29:00) [2]>[13] pathfinder 1-Oct-2006, 23:11
>У меня в проге есть экземпляры классов tidftp,
>tstringlist для них это критично?
"сокетные" -- лучше закрывать. это не обязательно, но "бонтон". %-) TStringList'ам -- всё равно обычно.
но вообще -- лучше уничтожать всё, что создавал. тоже "бонтон".
pathfinder (2006-10-01 23:11:00) [3]
> Существенные например для внешнего интерфейса, например
> сервера ворда, которому _Release не сделают.
У меня в проге есть экземпляры классов tidftp, tstringlist для них это критично?
guav (2006-10-01 23:04:00) [4]> ну, это детали. %-)
Существенные например для внешнего интерфейса, например сервера ворда, которому _Release не сделают.
Ketmar (2006-10-01 23:02:00) [5]>[10] jack128(c) 1-Oct-2006, 23:00
>нет, они не убьются. Освободится память из под
>объектов и всё. Код деструктора объектов
>ествественно не будет выполнен.
ну, это детали. %-)
jack128 (2006-10-01 23:00:00) [6]pathfinder (01.10.06 19:22) [8]
т.к. они и так убьются?
нет, они не убьются. Освободится память из под объектов и всё. Код деструктора объектов ествественно не будет выполнен.
Ketmar (2006-10-01 19:52:00) [7]угу. всё, что ты не добил сам -- добьёт ОС. %-)
pathfinder (2006-10-01 19:22:00) [8]
> никак не освобождается. ибо это не надо. потому как умирает
> весь АП скопом. вместе с его системными объектами и прочим.
>
Значит объекты которые я создал в ходе работы проги, которые при нормальном раскладе я убиваю методом Free, в случае завершения холтом убивать не надо, т.к. они и так убьются?
ps
прошу прощения за занудство:) просто хочется четко уяснить себе этот момент
guav (2006-10-01 19:19:00) [9]> никак не освобождается.
таки освобождается частично.
например глобальные переменные со строками. или всё что освобождается в финализации.
Ketmar (2006-10-01 19:14:00) [10]>[4] pathfinder 1-Oct-2006, 19:01
>А память при завершении проги холтом
>освобождается корректно?
никак не освобождается. ибо это не надо. потому как умирает весь АП скопом. вместе с его системными объектами и прочим.
pathfinder (2006-10-01 19:01:00) [11]
> Проггер из библиотеки (01.10.06 18:42) [3]
А память при завершении проги холтом освобождается корректно?
guav (2006-10-01 19:01:00) [12]exit выход из подпрограммы (процедуры, функции или метода), halt - из программы.
значение возвращается ОС, может быть опрошено в bat файлах через if errorlevel или другой программой через GetExitCodeProcess
Проггер из библиотеки (2006-10-01 18:42:00) [13]ExitCode - осталось со времён MS-DOS.
В bat-файле можно проверить результат работы программы ERRORLEVEL. Если 0, то работа была завершена без ошибок.
Насчёт нормального и ненормального - это связано со стеком, который используется для работы с процедурами. Вообще же: Halt просто безжалостно вырубает прогу, Exit - аккуратно завершает работу текущей процедуры//функции.
pathfinder (2006-10-01 18:38:00) [14]
> grisme © (01.10.06 18:31) [1]
Спасибо. Справка у меня тоже есть:)
Хотелось бы узнать в чем разница между normal и abnormal termination. Ну и второй вопрос тоже в силе..
grisme (2006-10-01 18:31:00) [15]procedure Halt [ ( Exitcode: Integer) ];
Description
Halt performs an abnormal termination of a program and returns to the operating system.
To perform a normal termination of a Delphi application, call the Terminate method on the global Application object. If the application does not use a unit that provides an Application object, call the Exit procedure from the main Program block.
Exitcode is an optional expression that specifies an exit code for the program.