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

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

повторный запуск MDIChild и передача параметров [D7, XP]


Pavlov ©   (2009-06-11 09:15:00) 

Подскажите пожалуйста, как сделать:
если в приложении  форма  с formStyle = MDIChild уже запущена (определяем по X_ID), то при повторном запуске с новыми параметрами MyForm, Z,R не создавать ее заново, а производить изменения уже в ней.
Проверку запущена ли форма я осуществляю спомощью функции FoundFormAndShow.
if  FoundFormAndShow(X_ID, TChildForm)<>nil then
  AddParam (X_ID,MyForm:TForm, Z, R) else CreateMyForm (X_ID,MyForm:TForm, Z, R)

FoundFormAndShow(X_ID, TChildForm)<>nil  - если форма найдена, тоAddParam (X_ID,MyForm:TForm, Z, R) .
CreateMyForm (X_ID,MyForm:TForm, Z, R)- создать форму.
Собственно говоря, проблема как организовать функцию  AddParam (X_ID,Y, Z, R) . Я делаю так:
procedure AddParam (X_ID;MyForm:TForm; Z; R) ;
begin
  with MyForm do
  begin
   ...
  end;
end;

Но так при компиляции выскакивает ошибка Undeclared identifier любого компонента на этой форме.


И. Павел   (2009-06-11 09:52:00) [1]

Хотя тут везде Undeclared identifier может выскочить. В паскале нельзя объявлять переменные где попало.


Pavlov   (2009-06-11 09:52:00) [2]

Спасибо вам за ответ, то что надо!


И. Павел   (2009-06-11 09:26:00) [3]


> без полиморфизма

без приведения типов


И. Павел   (2009-06-11 09:23:00) [4]


> выскакивает ошибка Undeclared identifier


with MyForm as <Тип формы, на которой расположены нужные компоненты>...
А если дочерняя форма может быть только одного типа, то можно и без полиморфизма, в заголовке процедуры AddParam сразу указать:
AddParam(... MyForm:<Тип формы, на которой расположены нужные компоненты>...)


Наверх

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