Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.01 c
7-8688
Alex No
2003-08-26 10:25
2003.11.03
WM_ENDSESSION...


1-8373
Stratos
2003-10-22 04:25
2003.11.03
Упаковка таблиц Paradox


4-8732
w666w
2003-08-27 18:55
2003.11.03
Как определить, есть ли в системных путях (где либо) нужнй файл?


9-8248
Shurik
2003-04-28 04:45
2003.11.03
Вопрос по TDXInput и DLL


7-8704
Nick_Omsk
2003-08-16 22:18
2003.11.03
Блокировка работы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский