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

Вниз

Как показать форму при загрузке приложения.   Найти похожие ветки 

 
vegarulez ©   (2007-03-17 11:55) [0]

Привет всем мастреам!
Подскажите, как можно показать фому(ну на которой допустим расположен рисунок) при загрузке приложения... а потом когда оно запустится, она должна будет закрыться...

Я помню, что когда то делал так... а сечас не могу вспомнить, что я делал, чтобы в прожекте сначала открывалась 2-ая форма, и висела, пока открывается и создаётся 2-ая.

program Project1;

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

{$R *.res}

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


 
-=Le][=- ©   (2007-03-17 12:55) [1]

Я тоже немогу вспомнить как ты это делал! Попробуй:

program Project1;
uses
 Forms,
 Unit1 in "Unit1.pas" {Form1};
 ULogo in "ULogo.pas" {LogoForm};

{$R *.RES}

begin
 Application.Initialize; {до этого момента никаких изменений}

 with TLogoForm.Create(Application) do
 try
   Show;
   Update;
   Application.CreateForm(TForm1, Form1);
 finally
   Free;
 end;

 Application.Run;
end.


 
vegarulez ©   (2007-03-17 14:49) [2]

А если на форме 2, которую хочу выводить содержится допустим кнопка, и только при нажатии кнопки пока зывать форму 1?....


 
Ант   (2007-03-17 15:01) [3]

Главной формной в приложении  (по закрытию которой приложение закрывается)является та форма, которая  первой сохдана с параметром Owner = Application/

То есть в файле DPR создаешь форму с овнер = nil

LogoForm:=TLogoForm.Create(nil);
LogoForm.Show;
LogoForm.Refresh;

Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
LogoForm.Release;
Application.Run;


 
vegarulez ©   (2007-03-17 15:18) [4]

Ок спасибо. Попробовал.

Но мне надо немного другое...
Я хочу вывести форму, допустим в которой будет - типа введите логин и пароль.... и 2 поля...  и когда эти два поля при нажатии кнопочки совпадут с тем что требуется, то тогда показывать главную форму, а эту закрывать.

В противном случае, если логин и пароль не те, что требуются, то закрывать и эту форму и не показывать главной формы, т.е. полностью программу закрывать.


 
Ант   (2007-03-17 15:31) [5]

Чтобы не показывать главную форму, достаточно проскочить мимо Application.Run;

Application.Initialize;
LogoForm:=TLogoForm.Create(nil);
try
 if LogoForm.ShowModal <> MrOk then Exit;
 if LogoForm.EditPassword.Text <> "12345" then Exit;
finally
 LogoForm.Release;
end

Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;


 
vegarulez ©   (2007-03-17 16:13) [6]

Чот yа MrOk ругается - гворит не знаю чо эт такое...


 
RASkov   (2007-03-17 16:16) [7]

> [6] vegarulez ©   (17.03.07 16:13)

if LogoForm.ShowModal <> 1 then...


 
RASkov   (2007-03-17 16:20) [8]

Controls:
mrOk = idOk;
Windows:
IDOK = 1; ID_OK = IDOK;
......


 
vegarulez ©   (2007-03-17 16:28) [9]

Так а как ьеперь форму 2 закрыть???

Там есть 2 поля  логин и пароль TEdit есть кнопочка - Tbutton
При нахатии на кнопку я добавил

procedure TForm2.MrOkClick(Sender: TObject);
begin
if Form2.Edit1.Text <> "12345" then Exit
else
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
Form2.Close;
end;
end;


Form1 то открывается, но Form2 не закрывается - так и висит... :(

Что делаю не так?


 
vegarulez ©   (2007-03-17 16:29) [10]

Код прожекта

program Project2;

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

{$R *.res}

begin
Application.Initialize;
Form2:=TForm2.Create(nil);
try
if Form2.ShowModal <> 1 then Exit;
if Form2.Edit1.Text <> "1234" then Exit;
finally
Form2.Release;
end;

Application.CreateForm(TForm1, Form1);
Application.Run;

end.


 
RASkov   (2007-03-17 16:34) [11]

> [9] vegarulez ©   (17.03.07 16:28)

Примерно так:

procedure TForm2.MrOkClick(Sender: TObject);
begin
if Form2.Edit1.Text <> "12345" then ModalResul:=mrOk else ModalResult:=mrCancel;
end;

Program ..;
....

LogoForm:=TLogoForm.Create(nil);
try
if LogoForm.ShowModal <> MrOk then Halt else begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 Application.Run;
end;
finally
LogoForm.Release;
end;


 
easy ©   (2007-03-17 17:19) [12]

http://dfc.com.ru/download.php?d=login



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

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

Наверх




Память: 0.5 MB
Время: 0.034 c
15-1173645143
Игорек
2007-03-11 23:32
2007.04.08
Отладчик Windbg


4-1164008270
ComPort
2006-11-20 10:37
2007.04.08
можно ли программно узнать, виртуальный com-порт или настоящий?


3-1169128300
Layner
2007-01-18 16:51
2007.04.08
Сравнение 2х БД => получить разницу в SQL скрипт


3-1168854708
alexey_mas
2007-01-15 12:51
2007.04.08
Передача указателя на подключение к базе в DLL


2-1174196769
Roman_S
2007-03-18 08:46
2007.04.08
сравнить текущее время с заданным DateTimePicker