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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2007, 21:32   #1
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию ошибка terminate

Вопрос такой: есть несколько форм, мне надо перед запуском программы появлялось 2 форма...
я делал следующее:
project-options-main form-form2...
при компиляции все работает, но потом после закрытия формы возникает ошибка
terminate...
Как мне избавиться от нее...
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Старый 06.10.2007, 22:14   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Нужно в перед закрытием всех формы закрывать другие формы, которые созданные ею.
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 22:43   #3
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

в *.dpr поменяй порядок создания форм:

Код:
begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm1, Form1);
Alex21 вне форума Ответить с цитированием
Старый 07.10.2007, 00:17   #4
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Нужно в перед закрытием всех формы закрывать другие формы, которые созданные ею.
Дело в том что все формы закрыты
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Старый 07.10.2007, 00:22   #5
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Цитата:
Сообщение от Alex21 Посмотреть сообщение
в *.dpr поменяй порядок создания форм:

Код:
begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm1, Form1);
Делал так, но дело в том, что Form2 остается, а "не исчезает".., т.е. не пропадает
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Старый 07.10.2007, 00:24   #6
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Хм, а совет Alex21 не помог?
SkyM@n вне форума Ответить с цитированием
Старый 07.10.2007, 00:29   #7
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Form2 становится главной формой.
Что мешает делать так:
Код:
Form2.Hide;
Form1.Show;
Для выхода:
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form2.Close;
end;
Alex21 вне форума Ответить с цитированием
Старый 07.10.2007, 00:38   #8
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Цитата:
Сообщение от Alex21 Посмотреть сообщение
Form2 становится главной формой.
Что мешает делать так:
Код:
Form2.Hide;
Form1.Show;
так делал раньше,
Цитата:
Сообщение от Alex21 Посмотреть сообщение
Для выхода:
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form2.Close;
end;
добавил этот код, все равно остается 2 форма...
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Старый 07.10.2007, 00:54   #9
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Вообщем делай так:
Опции -> Формы
Form2 перемести в список доступных форм (Available forms)

На Form2 ставь таймер в нем : Timer1.Enabled := false;
И вид проекта должен быть примерно таким:
Код:
program Project1;
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
  Application.Initialize;
  Form2 := TForm2.Create(Application);
  Form2.Show;
  Form2.Update;
  while Form2.Timer1.Enabled do
    Application.ProcessMessages;
  Application.CreateForm(TForm1, Form1);
  Form2.Hide;
  Form2.Free;
  Application.Run;
end.
Главной остается form1
Alex21 вне форума Ответить с цитированием
Старый 07.10.2007, 00:56   #10
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Сенкс большой, завтра попробую, сегодня и голова от каурсача болит...буть он не ладен
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка zav-mikhail Общие вопросы Delphi 0 28.05.2008 14:58
Где ошибка? [Smarik] Общие вопросы Delphi 5 01.04.2008 09:56
Application.terminate GAGARIN-NEW Общие вопросы Delphi 11 09.03.2008 19:32
поток, который по завершению (Terminate) передает в основную форму информацию о файле 1Andrey1 Общие вопросы Delphi 5 10.09.2007 19:40