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


Автор: ukk 25.12.2005, 13:26
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.Terminate;
ShowMessage('Fuck');
end;

Думал сообщение не должно появиться.. Запустил - вроде не появсяется.. Запускаю с Delphi 7 нажимая "F7" - функция вополняется до конца, а потом тут же выходит, но ShowMessage('Fuck') выполнятся! Как уничтожить прогу что бы дольшейший код не выполнялся? (Наверное придётся выполнять не в Create а в Activate что?)

Автор: Albinos_x 25.12.2005, 13:42
Код

halt;

Автор: Демо 25.12.2005, 13:53
Странное желание.

Может быть лучше не доводить до создания формы?

Автор: Albinos_x 25.12.2005, 14:16
Цитата
Может быть лучше не доводить до создания формы?

в таком случае возникает вопрос... зачем вообще форма?

Автор: Демо 25.12.2005, 14:44
Цитата(Albinos_x @ 25.12.2005, 15:16)
в таком случае возникает вопрос... зачем вообще форма?


Думаю, что автору надо по суловию создавать форму.

Автор: F1reF0x 26.12.2005, 00:17
Можешь быть Close во FormCreate поможет?

Автор: Albinos_x 26.12.2005, 00:44
Цитата(F1reF0x @ 26.12.2005, 00:17)
Можешь быть Close во FormCreate поможет?

сомневаюсь... лучше halt...

Автор: ~FoX~ 26.12.2005, 09:29
ukk
Application.Terminate Надо писать не в онкрейт формы, а в модуле проекта т.е.

Код

program Project1;

uses
  Forms, windows, SysUtils,
  Synchron in 'Synchron.pas' {Synhron};

{$R *.res}
var
  hMutex : THandle;
begin
  hMutex := CreateMutex(nil, False, '321');
  if WaitForSingleObject(hMutex, 0) = wait_TimeOut then Application.Terminate
  else begin
    Application.Initialize;
    Application.Title := 'Synh';
    Application.CreateForm(TSynhron, Synhron);
    Application.Run;
  end;
end.


Примерно так.
Здесь если прога находит мутикс 321 в памяти. то происходит терминэйт

Автор: Демо 26.12.2005, 10:29
Цитата
Примерно так.


А тут Terminate вообще не нужно;)

Автор: Albinos_x 26.12.2005, 10:57
Цитата
Примерно так.


Цитата
А тут Terminate вообще не нужно;)

угу...

http://forum.vingrad.ru/index.php?showtopic=74498&view=all

Автор: ukk 26.12.2005, 14:57
Сенкс за Halt; и за ссылку последнюю - остальное не нада smile

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