Вниз
Скачать: CL | DM;

Игра с формами   Найти похожие ветки 

← →
Leonid Troyanovsky ©   (2007-04-25 15:41) [57]


> Kostafey ©   (25.04.07 03:30) [56]

> Все же получается удобнее иметь для немодальных форм глобальные
> указатели,
> будь то, поля главной формы или просто переменные в случае,
>  если каждое окно
> должно быть только в 1 экземпляре.
> Конечно, когда требуется иметь несколько экземпляров окна,
>  тут другого пути нет.
> Но если нужно работать одним экземпляром, то отсутсвие указателя
> все только усложнит.


Во-первых, корректное хранение ссылки в поле формы
(никаких переменных!) не так уж и просто.
Вот пример хранения ссылки на TForm2, которая должна
существовать лишь в одном экземпляре:

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
   FForm2: TForm;
 public
   { Public declarations }
   procedure Notification(AComponent: TComponent; Operation: TOperation); override;
 end;

implementation

{$R *.dfm}

uses
 unit2;   {у TForm2 сделаем в обработчике OnClose: Action:= caFree}

procedure TForm1.Notification;
begin
 inherited;
 if AComponent = FForm2 then
   if Operation = opRemove then
     FForm2 := nil;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if not Assigned(FForm2) then
   begin
     FForm2 := TForm2.Create(nil);
     FreeNotification(FForm2);
   end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 if Assigned(FForm2) then
   TForm2(FForm2).Show;
end;


Так что, использование Screen.Forms может быть и проще :)

--
Regards, LVT.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.039 c
8-1145581117
dmitrlast
2006-04-21 04:58
2007.05.13
Почему мерцает Image?


15-1176746665
Kolan
2007-04-16 22:04
2007.05.13
Какчал архив из 4 частей одна не докачалась&#133


15-1176624931
vasIZmax
2007-04-15 12:15
2007.05.13
Нормальный источник


15-1176723406
Yaros-hoi
2007-04-16 15:36
2007.05.13
Запрос по дате


2-1177092211
likenoother
2007-04-20 22:03
2007.05.13
цвет пикселя




   Наверх