Показать сообщение отдельно
Старый 25.03.2008, 02:15   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от vitaly85 Посмотреть сообщение
Имею edit метод на тaблицу CustTable. Mожно ли имeть тpeтий пapaметp, зaвиcee oт когo буду вepнуть paзнoe информaцию.
Вообще-то display/edit-методы предназначены для использования на формах. Отсюда есть несколько следствий:
  • формы умеют вызывать display/edit-методы лишь с жестко заданным перечнем и типом параметров (перечень слегка отличается в зависимости от того, определен ли метод на таблице или на datasource'е формы), никакие дополнительные параметры не поддерживаются, потому что формы о них знать не знают;
  • эти методы используются для создания элементов пользовательского интерфейса, поэтому их возвращаемые значения должны быть четко типизированы - никаких str/int/real и прочих базовых типов (вы же не используете базовые типы для полей таблиц);
  • для edit-методов типы возвращаемого значения и аргумента, передаваемого для установки значения, должны совпадать.
Если вы хотите в зависимости от обстоятельств выводить на форме различную информацию в одном и том же поле, то заведите display-метод и используйте переменную, определенную на форме, либо значение другого элемента управления. При этом вы не сможете использовать поле, куда выводятся такие значения, для ввода данных, как в случае edit-метода, и не сможете закэшировать такой метод, как в случае методов, определенных на таблице.