Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2008, 19:46   #1
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Вопрос Application.terminate

Всем привет ! С наступающими праздниками !

У меня такой вапрос :
Поместил в форм1.онкриэйт
Application.terminate;

Почему не завершается приложение ???
поставил после Application.terminate showmesage .... в итоге показался месадж и приложение начяло работать дальше как нужно .... получяется Application.terminate не сработал ???

Всем спасибо за ответы !
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 07.03.2008, 19:58   #2
Starscream
Пользователь
 
Аватар для Starscream
 
Регистрация: 17.02.2008
Сообщений: 18
По умолчанию

Само по себе както глупо делать terminate в форме которая по сути еще создается. Советую ставить Application.terminate в обработке Form1.FormShow где форма появится на экране при каком то условии.
Starscream вне форума Ответить с цитированием
Старый 07.03.2008, 19:59   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

А ты попробуй поставить application.terminate в онШОУ....
Altera вне форума Ответить с цитированием
Старый 07.03.2008, 20:21   #4
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

Суть такова .... мне нужно чтобы приложение запускалось только в определённцю дату ... я делаю проверку на дату в форм1.онкреате если дата не та каторая нужна то приложение должно както сказать о том что не та дата и завершится ...(у меня приложение пишет канвасом на десктопе что дата не та ...после чего оно далжно завершытся однако этого не происходит ..)

НО: при любых раскладках форма не должна быть видна .. поэтому в оншоу я думаю не получится ...

// Я не собираюсь защищять моё приложение от умных хакеров каторрые догадаютсо сменить дату на компьютере ... поэтому на щёт этого можете не писать ....
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 07.03.2008, 20:31   #5
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

А что команда Close, не катит?
Команда Halt завершит приложение даже если "крестик" заблокирован.

Делается так.

Код:
FormCreate.
if datetimetostr(now) <> '20.12.2008 12:34' then halt;
...
далее код когда дата верна (20.12.2008 12:34)...
и всё.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 07.03.2008, 20:39   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от GAGARIN-NEW Посмотреть сообщение
.......мне нужно чтобы приложение запускалось только в определённцю дату ...
А зачем тогда вообще до форм дело доводить? Проверять дату, если подходит - создаем формы и Эппликейшн.Ран, не подходит - всем привет.
B_N вне форума Ответить с цитированием
Старый 07.03.2008, 20:54   #7
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Радость

Цитата:
Сообщение от B_N Посмотреть сообщение
А зачем тогда вообще до форм дело доводить? Проверять дату, если подходит - создаем формы и Эппликейшн.Ран, не подходит - всем привет.
Отсюдова пожалуйсто поподробнее.
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 07.03.2008, 21:42   #8
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от GAGARIN-NEW Посмотреть сообщение
Отсюдова пожалуйсто поподробнее.
Ну куда же еще подробнее. Если вот так написать:

Код:
uses
  Unit1 in 'Unit1.pas';
{$R *.RES}

begin
(*
	Application.Initialize;
	Application.CreateForm(TForm1, Form1);
	Application.Run;
*)	
end.
что получится? Правильно, ничего не запустится. Так что же мешает написать
Код:
uses
  Unit1 in 'Unit1.pas';
{$R *.RES}

begin
	if (ПОДХОДЯЩАЯ ДАТА) then begin
		Application.Initialize;
		Application.CreateForm(TForm1, Form1);
		Application.Run;
	end;
end.
B_N вне форума Ответить с цитированием
Старый 09.03.2008, 12:25   #9
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

Большое спасибо !
Я просто нелюблю лазить в эту чясть проекта хотя всё прекрасно понял .
Вот вопрос будут ли тут работать функции прописанные в Unit1? или функции из модулей в uses ??? если нет то какже тогда организовать проверку до начяла работы приложения ???
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 09.03.2008, 12:42   #10
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от GAGARIN-NEW Посмотреть сообщение
Большое спасибо !
Я просто нелюблю лазить в эту чясть проекта хотя всё прекрасно понял .
Ну тогда в модуле есть раздел инициализации. Делайте проверку там.
Он выполняется до Application.initialize. Но, тогда никаких Application.terminate. Только Halt.

Цитата:
Сообщение от GAGARIN-NEW Посмотреть сообщение
Вот вопрос будут ли тут работать функции прописанные в Unit1? или функции из модулей в uses ??? если нет то какже тогда организовать проверку до начяла работы приложения ???
Будут, если модуль подключен и функции описаны в секции interface
alexBlack вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
application run *Devil* Общие вопросы Delphi 5 12.12.2012 21:30
application.ProcessMessages; UROKSAN Общие вопросы Delphi 2 10.04.2008 13:32
ошибка terminate KORT Общие вопросы Delphi 9 07.10.2007 00:56
поток, который по завершению (Terminate) передает в основную форму информацию о файле 1Andrey1 Общие вопросы Delphi 5 10.09.2007 19:40