Главная страница
    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.008 c
8-8555
seemann
2003-07-03 14:40
2003.11.03
Звук в двоичной переменной


1-8497
killer
2003-10-23 20:55
2003.11.03
Как программноузнать русифированная или нерусифированная Windows?


14-8585
mrddim
2003-10-15 15:05
2003.11.03
Delphi - Кто Это?


6-8556
Вася Н.
2003-09-09 16:32
2003.11.03
Две сетевые карты


1-8471
gelios
2003-10-23 12:05
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский