Показать сообщение отдельно
  #1  
Старый 22.04.2011, 17:46
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию Наследование и т.п.

Вопрос на засыпку.
Допустим имеем форму:
Код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
 Button1: TButton;
 procedure FormShow(Sender: TObject);
 private
 { Private declarations }
 public
 { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
 Button1.Visible:=False;
end;

end.
Если, из внешнего модуля, мы сделаем вот такой вызов:
Код:
 Unit1.Form1.Show;
то кнопка станет невидимой.
Теперь собственно вопрос:
У меня несколько форм, вызовы метода Show я делаю примерно вот таким образом:
Код:
 for i:=0 to SomeFormCantainer.Count-1 do
 (SomeFormContainer[i] as TForm).Show;
и, что вполне понятно, вызывается метод Show не конкретной формы, а их общего предка TForm. И, как следствие, нужный мне код не отрабатывает.
Кто нибудь знает как вызвать метод именно той формы которая хранится в контейнере?
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием