2 Lexi
Что касается передачи параметров, то я обычно делаю так:
Пусть у нас есть объект (форма,таблица, отчет или датапорт) задача: запустить его с определенными знчениями переменных, а затем просмотреть переменные, измененные в этом объекте.
Основной принцип: в главном объекте (форме,кодюните, etc.) объявить в Globals этот объект как переменную Obj. При этом по F5 у этой переменной мы можем увидеть все ее функции. Т.е. написав функцию для нашего объекта типа
RetVal() : Integer
exit(Глобальная_Переменная_Объекта)
мы сможем получить значение переменной "Глобальная_Переменная_Объекта" в главном объекте так
clear(Obj);
Obj.Run;
//====================
// объект отработал, где-то внутри его присвоилось значение переменной
// "Глобальная_Переменная_Объекта"
//====================
Перем:=Obj.RetVal
При этом следует помнить, что оператор CLEAR очистит объект.
Кстати, этот вопрос уже обсуждался
здесь