| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Console Application в Delphi |
| Автор: Chrumov 10.5.2013, 13:13 |
| В общем возник вопрос сохранения некоторых данных программы перед ее закрытием, т.е. при выключении компа и т.п. Как это можно сделать в Console Application? |
| Автор: kami 10.5.2013, 13:30 |
| http://delphiworld.narod.ru/base/console_win_shutdown.html |
| Автор: Chrumov 10.5.2013, 13:52 |
| А можно по подробнее? А то у меня не получатся |
| Автор: kami 10.5.2013, 17:13 |
Что конкретно не получается? |
| Автор: Chrumov 10.5.2013, 21:56 |
| Я не понимаю как и где это писать, надо таймер ставить чтобы оно эту функцию прогоняло или как? Если я просто сую в программу, оно не работает, хотя ошибок не показывает. |
| Автор: kami 10.5.2013, 22:36 |
Покажи, как "суешь" |
| Автор: Poseidon 10.5.2013, 22:38 |
| Вот прямо в том виде, в котором функция приведена, и суешь? Копи-пастом? Тогда не удивительно. А пробовал разобраться вообще что там к чему? |
| Автор: Chrumov 10.5.2013, 22:58 | ||
Вот так вот "сую" |
| Автор: Poseidon 10.5.2013, 23:02 |
| Chrumov, молодец. А теперь еще раз тыкни на ссылку kami и прочти внимательно что там написано внизу, после кода. |
| Автор: Chrumov 10.5.2013, 23:06 | ||
Not enough actual parameters... |
| Автор: kami 10.5.2013, 23:32 | ||
| Вот, кстати, реальный пример неработающего FAQ из поисковика. А он (пример сей) разошелся в интернете... Надо так:
Кстати, меня глючит или Ctrl_Handler должна быть stdcall? |
| Автор: Chrumov 10.5.2013, 23:47 |
| Хоть убейте, не работает Ошибок нет, запускаю прогу, вырубаю комп, включаю, текстовый файл пуст |
| Автор: northener 11.5.2013, 01:41 |
Почему надо так? |
| Автор: kami 11.5.2013, 10:43 | ||
Могу ошибаться, конечно, но: 1. если без указателя - Delphi думает, что нужно подставить результат выполнения функции. Соответственно - выдает недостаточно параметров. 2. http://msdn.microsoft.com/en-us/library/windows/desktop/ms686016(v=vs.85).aspx указано "A pointer to the application-defined HandlerRoutine function", кроме того - в объявлении этой ф-и в Windows.pas первый параметр идет как FarProc. Добавлено через 1 минуту и 23 секунды И - до сих пор не понимаю: Добавлено через 6 минут и 54 секунды Update: меня не глючит. Действительно, правильный код выглядит так:
Для Chrumov, в этом примере код реагирует на нажатие кнопки "закрыть" консольного окна и на Ctrl+Break, а не на завершение работы Windows. Нужные параметры для отлавливания можно найти в http://msdn.microsoft.com/en-us/library/windows/desktop/ms683242(v=vs.85).aspx |
| Автор: Alexeis 11.5.2013, 10:53 | ||
Чо думать, переходим на http://msdn.microsoft.com/en-us/library/windows/desktop/ms686016(v=vs.85).aspx затем на http://msdn.microsoft.com/en-us/library/windows/desktop/ms683242(v=vs.85).aspx И видим
Для 32х битных систем WINAPI точно имеет stdcall |
| Автор: Chrumov 11.5.2013, 11:40 |
| Работает! Спасибо, помогли) |