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

Вниз

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

 
P0tia ©   (2003-10-22 17:04) [0]

и выгрузить.


 
Семен Сорокин ©   (2003-10-22 17:14) [1]

Form1.Load - загрузить
Form1.Unload - выгрузить


 
Style ©   (2003-10-22 17:14) [2]

А можно поконкретней??

А то я только такое могу ответить:
TLoadedForm.LoadMethod := "Програмно" Ж:-)
TLoadedForm.Load();

80)


 
Arm79 ©   (2003-10-22 17:16) [3]

Form2:=TForm2.Create(Application);
...
Form2.Free;


 
P0tia ©   (2003-10-22 17:25) [4]

У меня такая вещ. Нужно сначало показать форму с вводом пароля и не загружать основную форму, а потом выгрузить первуую и показать основную.


 
Style ©   (2003-10-22 17:29) [5]

P0tia © А зачем тебе ее загружать выгружать :)

Сделай на OnCreate главной формы
такое:

var
frm: TPasswordForm;

begin

frm := TPasswordForm.Create(self)
try
frm.ShowModal;
finally
frm.Free;
end;


 
Nikolay M. ©   (2003-10-22 17:30) [6]

try
Application. CreateForm (TfChangeUserPassword, fChangeUserPassword);
fChangeUserPassword.ShowModal;
finally
fChangeUserPassword. Release;
end;


 
P0tia ©   (2003-10-22 17:36) [7]

А как поставить условие для finally?


 
Anatoly Podgoretsky ©   (2003-10-22 17:37) [8]

P0tia © (22.10.03 17:36) [7]
для finally не существует условий


 
P0tia ©   (2003-10-22 17:51) [9]

Это в проэкте.

begin
Application.Initialize;
Application.CreateForm(TDataModule1, DataModule1);
try
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
finally
Form2.Release;
end;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.


А это на форме.
procedure TForm2.Button2Click(Sender: TObject);
begin
close;
end;

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


Но после второва главная форма не показывается.


 
Игорь Шевченко ©   (2003-10-22 17:57) [10]


> try
> Application.CreateForm (TfChangeUserPassword, fChangeUserPassword);
> fChangeUserPassword.ShowModal;
> finally
> fChangeUserPassword.Release;
> end;


Может, имелось в виду:
Application.CreateForm (TfChangeUserPassword, ChangeUserPassword);
try
...

???


 
P0tia ©   (2003-10-22 17:59) [11]

У меня почемуто форма не показывается. После close в Form2


 
Anatoly Podgoretsky ©   (2003-10-22 18:00) [12]

После close в Form2 форма закрывается.


 
P0tia ©   (2003-10-22 18:19) [13]

А что нужно указать чтобы убить программу и что указать чтобы форма загрузилась?


 
icWasya ©   (2003-10-22 18:22) [14]

в файле проекта (DPR).

Application.CreateForm(TLoginForm,LoginForm);
if LoginForm.ShowModal=mrOk then begin
LoginForm.Update;
Application.CreateForm (TMainForm, MainForm);
MainForm.Update;
FreeAndLil(FormLogin);
end;


 
P0tia ©   (2003-10-22 18:25) [15]


> icWasya © (22.10.03 18:22) [14]


Не понимает mrOk и FreeAndLil


 
icWasya ©   (2003-10-22 18:42) [16]

>Не понимает
uses
Controls,Sysutils,Windows


 
P0tia ©   (2003-10-22 18:44) [17]

Все есть всеравно не понимает FreeAndLil


 
icWasya ©   (2003-10-22 18:48) [18]

sorry FreeAndNil
вдогонку

ModalResult=mrOK -
внутри формы при не правилной проверке пароля закрывать форму Close, а при правильной - ModalResult:=mrOK
например

Procedure TLoginForm.Button1Click(Sender:TObject);
begin

if CheckPassword then
ModalResult:=mrOK
else
Close
end;


 
P0tia ©   (2003-10-22 21:38) [19]

у меня в конце кода
begin
Application.Initialize;
Application.CreateForm(TDataModule1, DataModule1);
Application.CreateForm(TForm2, Form2);
if Form2.ShowModal=mrOk then begin
Form2.Update;
Application.CreateForm(TForm1, Form1);
Form1.Update;
FreeAndNil(Form2);
end;
Application.Run;

...

procedure TForm2.Button1Click(Sender: TObject);
begin
ModalResult:=mrOK;
end;


Вся программа закрывается. Form1 выполняет FormDestroy.


 
zapped   (2003-10-23 11:44) [20]

вот рабочий пример :))
program Project1;

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

{$R *.RES}

begin
Application.Initialize;
Form2 := TForm2.Create(Application);
// Application.CreateForm(TForm2, Form2);
if Form2.ShowModal = mrOk then
begin
Application.CreateForm(TForm1, Form1);
Form1.Show;
FreeAndNil(Form2);
Application.Run;
end
else
Application.Terminate;
end.
...
procedure TForm2.Button1Click(Sender: TObject);
begin
ModalResult:=mrOK;
end;
...

дело в том, что первый вызов Application.CreateForm(TForm2, Form2); заставляет "думать" Application, что Form2 - главная форма приложения, а, как известно, приложение завершается при закрытии главной формы...


 
zapped   (2003-10-23 11:47) [21]

имеется в виду: первый вызов Application.CreateForm, - в данном случае Application.CreateForm(TForm2, Form2);



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

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

Наверх




Память: 0.51 MB
Время: 0.016 c
1-8526
Term
2003-10-23 16:43
2003.11.03
TTreeView...... подскажите где ошибка


1-8427
angel2000
2003-10-22 11:06
2003.11.03
Прерывание выполнения цикла


1-8345
S@shka
2003-10-23 12:15
2003.11.03
Кто нить знает компоненты работы с картинками?


14-8591
ИМХО
2003-10-15 12:08
2003.11.03
Телепортация


1-8379
Lena19
2003-10-22 23:14
2003.11.03
где взять модуль SusUtils