Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Вопрос по формам   Найти похожие ветки 

 
Tempora   (2006-06-08 13:18) [0]

Как вывести при запуске приложения не главную форму, а Form2 и что бы при этом главная форма была не видна пока не нажмешь кнопку ОК на Form2?
Я пробовал в коде программы использовать showmainform:=false, все работает, только если свернуть прогу - то показывается главная форма при восстановлении -(


 
_dimka ©   (2006-06-08 13:20) [1]

сделай главной форму2 а потом уже выводи форму1


 
StriderMan ©   (2006-06-08 13:25) [2]

в Form1.FormCreate показывай Form2 модально


 
Tempora   (2006-06-08 13:30) [3]

StriderMan
При этом же возникает ошибка?


 
Loginov Dmitry ©   (2006-06-08 13:33) [4]

Tempora   (08.06.06 13:30) [3]
При этом же возникает ошибка?


Создавай Form2 вручную


 
Tempora   (2006-06-08 13:36) [5]

Нет, что-то не получается... вылетает ошибка и все...


 
StriderMan ©   (2006-06-08 13:38) [6]

убери Form2 из автоматически создаваемых форм и в Form1.FormCreate

 with TForm2.Create(nil) do
 try
   ShowModal;
 finally
   Free;
 end;


 
Tempora   (2006-06-08 13:41) [7]

StriderMan
Спасибо, но опять ошибка вылазиет...


 
StriderMan ©   (2006-06-08 13:42) [8]

в каком месте? код в студию


 
Tempora   (2006-06-08 13:46) [9]

Все дело в CoolTrayIcon -(
Без нее все работает.
Даже если CoolTrayIcon поставить в enabled:=false программа вылетает с ошибкой...


 
StriderMan ©   (2006-06-08 13:53) [10]

Че за ошибка-то?
на каком месте вылетает?
че такое CoolTrayIcon


 
Tempora   (2006-06-08 14:04) [11]

Все, с cooltrayicon (компонент для работы с иконкой в трее) разобрался.
Теперь другая проблема.
Запускается программа, идет обработка события создания главной формы, там создается form2. На Form2 есть кнопка, там идет кое-какая обработка и в конце должно закрываться это окно и показываться основная форма.
Если прописать в конце form2.close, то программа вылетает с ошибкой. Как правильно закрыть форму?


 
Tempora   (2006-06-08 14:15) [12]

Вот код программы:
program Project2;

uses
 Forms,
 Unit1 in "Unit1.pas" {Form1},
 Unit2 in "Unit2.pas" {Form2};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


Вот код главной формы:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
   procedure FormShow(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation
uses unit2;
{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
with TForm2.Create(nil) do
try
  ShowModal;
finally
  Free;
end;
end;

end.


Код второй формы:

unit Unit2;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm2 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
form2.close;
end;

end.


Место ошибки выделено полужирным.


 
xfree   (2006-06-08 14:18) [13]

Ты чего блуждаешь в трех соснах. Загляни в п.м. Project -> Options
Там в левом окне автосоздаваемые формы. Они обе создадутся автоматом, но видна будет только первая.
Поставь кнопку или чего хошь на первую форму и по событию OnClick Напиши Form2.Show или Form2.ShowModal.
только не забудь добавить ссылку на вторую форму в первую, п.м. File -> Use unit или Alt+F11


 
Tempora   (2006-06-08 14:46) [14]

изменил form2.close на просто close - все получилось.
Ошибку понял.
Спасибо всем.



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
2-1149512871
VitV
2006-06-05 17:07
2006.06.25
Не могу найти компоненты TSocket....


15-1148914623
ArtemESC
2006-05-29 18:57
2006.06.25
"Квакеры"


15-1149146400
wHammer
2006-06-01 11:20
2006.06.25
DELPHI что это среда разработки и/или язык программирования?


2-1149314370
Тимофеич
2006-06-03 09:59
2006.06.25
pos or posex


1-1147934077
Damager
2006-05-18 10:34
2006.06.25
Градиентные цвета компонентов