![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Chrumov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2013 Репутация: нет Всего: нет |
В общем возник вопрос сохранения некоторых данных программы перед ее закрытием, т.е. при выключении компа и т.п.
Как это можно сделать в Console Application? |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
| Chrumov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2013 Репутация: нет Всего: нет |
А можно по подробнее? А то у меня не получатся
|
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
| Chrumov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2013 Репутация: нет Всего: нет |
Я не понимаю как и где это писать, надо таймер ставить чтобы оно эту функцию прогоняло или как?
Если я просто сую в программу, оно не работает, хотя ошибок не показывает. Это сообщение отредактировал(а) Chrumov - 10.5.2013, 22:03 |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Вот прямо в том виде, в котором функция приведена, и суешь? Копи-пастом? Тогда не удивительно. А пробовал разобраться вообще что там к чему?
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Chrumov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2013 Репутация: нет Всего: нет |
Вот так вот "сую" |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Chrumov, молодец. А теперь еще раз тыкни на ссылку kami и прочти внимательно что там написано внизу, после кода.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Chrumov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2013 Репутация: нет Всего: нет |
Not enough actual parameters... |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Вот, кстати, реальный пример неработающего FAQ из поисковика. А он (пример сей) разошелся в интернете...
Надо так:
Кстати, меня глючит или Ctrl_Handler должна быть stdcall? Это сообщение отредактировал(а) kami - 10.5.2013, 23:33 |
|||
|
||||
| Chrumov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 10.5.2013 Репутация: нет Всего: нет |
Хоть убейте, не работает
Ошибок нет, запускаю прогу, вырубаю комп, включаю, текстовый файл пуст Это сообщение отредактировал(а) Chrumov - 10.5.2013, 23:49 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
-------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Могу ошибаться, конечно, но: 1. если без указателя - Delphi думает, что нужно подставить результат выполнения функции. Соответственно - выдает недостаточно параметров. 2. В SetConsoleCtrlHandler указано "A pointer to the application-defined HandlerRoutine function", кроме того - в объявлении этой ф-и в Windows.pas первый параметр идет как FarProc. Добавлено через 1 минуту и 23 секунды И - до сих пор не понимаю: Добавлено через 6 минут и 54 секунды Update: меня не глючит. Действительно, правильный код выглядит так:
Для Chrumov, в этом примере код реагирует на нажатие кнопки "закрыть" консольного окна и на Ctrl+Break, а не на завершение работы Windows. Нужные параметры для отлавливания можно найти в MSDN |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Чо думать, переходим на http://msdn.microsoft.com/en-us/library/wi...6(v=vs.85).aspx затем на http://msdn.microsoft.com/en-us/library/wi...2(v=vs.85).aspx И видим
Для 32х битных систем WINAPI точно имеет stdcall -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |