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

повторный запуск MDIChild и передача параметров   Найти похожие ветки 

 
Pavlov ©   (2009-06-11 09:15) [0]

Подскажите пожалуйста, как сделать:
если в приложении  форма  с 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:23) [1]


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


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


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


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

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


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

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


 
Pavlov ©   (2009-06-11 09:52) [4]

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



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

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



Память: 0.46 MB
Время: 0.006 c
2-1244723611
bot77
2009-06-11 16:33
2009.08.09
Перевод файла в троичной системе в аски и обратно.


15-1244484954
{RASkov}
2009-06-08 22:15
2009.08.09
Алгоритмы хеширования


15-1244565458
Rimdus
2009-06-09 20:37
2009.08.09
Перекрыть приватный метод


11-1205061882
DJ_UZer
2008-03-09 14:24
2009.08.09
В стиле ХР


8-1196371243
leonidus
2007-11-30 00:20
2009.08.09
Как отобразить одну картинку на другой?




   Наверх