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

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

Дополнительные параметры [D7, Win2k]


zdn ©   (2005-02-24 13:44:00) 

У меня в проектк все формы, кроме главной, автоматом не создаются.
Для открытия форм используеться следующая процедура:

procedure ShowFormF(frm:TFormClass;InsEdit:integer);
//InsEdit - режим открытия формы
var f:TForm;
begin
 f:=frm.Create(Application);
 with f do
 try
  Tag:=InsEdit;
  ShowModal;
 finally
  free
 end
end;

Возникла необходимость, при создании формы, передавать массив дополнительных параметров.
Подскажите, пожалуйста, как это можно реализовать?

Заранее благодарен!!!


zdn   (2005-02-24 15:08:00) [1]


> DiamondShark ©   (24.02.05 14:59) [10]

Это идея спасибки. Можно просто сделать еще одну процедуру
которая будет открывать форму с параметрами.
Всем спасибо, чо-то сам до этого не додумался.

Хорошо все же общение с умными людьми.


Инструктор   (2005-02-24 15:03:00) [2]

> [10] DiamondShark ©   (24.02.05 14:59)

Это верно - я и не предлагаю так делать. Но замечание такого вида -

> [5] zdn   (24.02.05 14:36)

как обойти? Безусловно лучше огород не городить.


DiamondShark   (2005-02-24 14:59:00) [3]

Вы сейчас насоветуете.
Потом вместе будете AV ловить после передачи ссылок на локальные массивы.

Самый прямой вариант -- сделать общего предка для форм и написать конструктор с параметрами.


Инструктор   (2005-02-24 14:51:00) [4]

>  [8] zdn   (24.02.05 14:47)

В таг можно занести ССЫЛКУ на массив или чего-там.


zdn   (2005-02-24 14:47:00) [5]

Уточняю вопрос.
Передается массив из несколких значений. Можно ли в таг занести несколко значений, по-моему низя или я чо-то не понимаю!!!


Arm79   (2005-02-24 14:40:00) [6]

zdn   (24.02.05 14:36) [5]

Не не пройдет, дело в том что массив стринговый,
т.е. значения в нем будут именно стриногвые, а не интежер.


В tag записывается адресмассива. Совершенно неважен тип его элементов.


Инструктор   (2005-02-24 14:38:00) [7]

> [5] zdn   (24.02.05 14:36)

Опа. А при чем тут это?


zdn   (2005-02-24 14:36:00) [8]

Не не пройдет, дело в том что массив стринговый,
т.е. значения в нем будут именно стриногвые, а не интежер.


Чапаев   (2005-02-24 14:27:00) [9]

Tag:=Integer(@MyArray[0]); -- ну вот что-то вроде этого...


zdn   (2005-02-24 14:26:00) [10]

Спасибки, буду пробовать


MU   (2005-02-24 14:21:00) [11]

если  все ваши формы наследники от одной (не TForm!),
то добавьте в базовую форму свойства или переопределите конструктор.
а так... без глобальных переменных не обойтись...
...
var Params :  TMyParams;

var f:TForm;
begin
Params := ...;
f:=frm.Create(Application);
Params := ...;
with f do
try
 Tag:=InsEdit;
 ShowModal;
finally
 free
end
end


zdn   (2005-02-24 14:09:00) [12]

Никто, никогда, такого не делал?


Наверх

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