
16.12.2009, 19:08
|
 |
I Like it!
|
|
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
|
|
Могу предложить следующий вариант:
Project1:
Код:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Unit1
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.Terminate;
end;
end.
Unit2:
Код:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm2 = class(TForm)
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
private
procedure AppRestore(Sender: TObject);
public
{ Public declarations }
end;
var
Form2: TForm2;
F2Closed: Boolean = false;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.AppRestore(Sender: TObject);
begin
if F2Closed then
Form1.Show;
end;
procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := false;
Form2.Hide;
Application.Minimize;
F2Closed := true;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
Application.OnRestore := AppRestore;
end;
end.
Так пойдет? 
|