Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление компонентов! Подскажите! [D7]


apl ©   (2006-04-19 12:49:00) 

В приложении активно используются фреймы на главной форме. Фактически каждый конкретный ACTION инициализирует фрейм для конкретных операций. Все работает, но ... Стал очень часто повторяться кусок кода.

InsertCimponent(<имя конкретного фрейма>)
<имя конкретного фрейма>.Show
<имя конкретного фрейма>.Parent:=MainForm


<Имя конкретного фрейма> - просто имя переменно AFrame, BFrame и т.д.
АFrame, BFrame - наследники TFrame.

Попытался перенести этот код в метод главной формы:

procedure mainForm.SwithFrame(ActiveFrame : TFrame)
begin
 ...
InsertComponent(ActiveFrame);
ActiveFrame.Show;
ActiveFrame.Parent:=MainForm;
end;


Вызов:
...
 MainForm.SwitFrame(AFrame);
 ...
 MainForm.SwitFrame(BFrame);
 ...


Вываливается по ошибке в строке
 ActiveFrame.Parent:=MainForm;

В чем фокус?


Ksenom   (2006-04-19 15:58:00) [1]

Я при нажатии на кнопку в панели отображаю фрейм. У меня всё работает прекрасно. Код ниже...

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
 {Form1.fr:TFrame;}
 Form1.Fr.free;
 Form1.Fr:=nil;

 if Form1.SpeedButton2.Down
 then begin
   Form1.Fr:=TFrame2.Create(Form1.Panel3);
   Form1.Fr.Parent:=Form1.Panel3;
 end;
end;


Darvin   (2006-04-19 13:41:00) [2]

ActiveFrame.Parent:=Self;  ?


TUser   (2006-04-19 12:52:00) [3]

Есть ли у этой ошибки словеское выражение?


Наверх

Титульная страница Поиск, карта сайта Написать письмо