Форум: "Начинающим";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];
Внизповторный запуск 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 identifierwith 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 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c