|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
|  | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Основное окно закрывается, появляется дополнительное Добрый вечер! Первое - пршу прощения у модераторов - я позавчера кажется ничего не нарушал - это либо у меня нет плохо фурычил - либо у вас чего-то на серваке... Теперь вопрос: В проекте естьдва окна главное и 2-е. так вот для onClose главного окна написал такой код: Код: Form2.Show; Что делать? Может не то событие я обрабатываю? Собственно налдо чтобы главное окно (приложение) законрчило свою работу после того как отработает дополнительное окно Неужели никто с такой проблемой не сталкивался?? Последний раз редактировалось M.A.D.M.A.N., 20.02.2013 в 08:37. | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Сталкивался. Проблема в том, что главное окно и есть основная программа (т.е. главная WndProc), когда оно закрывается, то происходит завершение всей программы. Если тебе надо показать еще одно окно после, фактически,  завершения программы, то тебе надо в .dpr файле после вызова Application.Run добавить код показа этого окна: 1. "Выкидываешь" Form2 из списка автосоздаваемых форм. 2. Открываешь файл проекта (Project -> View source) 3. Добавляешь примерно такой код: Код: begin
    Application.Initialize;
    Application.CreateForm(TMainForm, MainForm);
    Application.Run;
    // Показываем вторую форму
    With Form2.Create(Nil) Do
      Begin
        Show;
        Update;
        Sleep(5000); // Показваем форму в течении 5 сек.
        Free;
      End;
end.Код выше только для примера, если тебе надо, что бы юзер что-то сделал в этом окне, то надо будет сделать отслеживание этого и закрывать окно по действию пользователя. | 
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
|  
lostbananan (20.02.2013)
 | ||
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Спасибо! Попробую завтра - сегодня я уже устал... Уже пробывал - чего-то не получается - на Sleep(5000); ругается неопредделенный идентификатор, когда слип заремарир в ран-тайм режиме выдает система ошибку EAcsessViolation// чтение по адресу 00000.. Чьто не так: вот весь код моего проекта: Код: program Loh1;
uses
  Forms,
  main in 'main.pas' {Form1},
  Unit2 in 'ini\Головна\1\Unit2.pas' {Form2};
{$R *.res}
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
  // Показуємо додаткову форму форму
    With Form2.Create(Nil) Do
      Begin
        Show;
        Update;
//        Sleep(5000);
        Free;
      End;
end.Последний раз редактировалось M.A.D.M.A.N., 20.02.2013 в 09:17. | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Дак оно не создано, вот и ругается EAccessViolation. TForm2.Create | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Моржет я чего-то недопонимаю но по поводу создания окна, вот код: Код: With Form2.Create(Nil) Do
      Begin
        Show;
        Update;Код:  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
    // Ïîêàçóºìî äîäàòêîâó ôîðìó ôîðìó
    TForm2.Create(Nil);
    With Form2.Create(Nil) Do
      Begin
        Show;
        Update;
//        Sleep(5000);
        Free;
      End;Последний раз редактировалось lostbananan, 20.02.2013 в 10:39. | 
| 
			 
			#6  
			
			
			
			
		 | ||||
| 
 | ||||
|   TForm2.Create я уже писал тебе. Код: With TForm2.Create(Nil) Do |