Касательно передаваемых данных между модулями.
То что объявлено в интерфейсной части модуля (переменные, функции, константы), будет доступно для всех модулей, которые его импортируют.
Варианты существуют разные, вот один из способов.
Пример.
Unit1
Код:

...
interface
function a():double; // делаем функцию доступной извне
...
implementation
function a():double; // собственно реализация функции
begin
result:=Exp(3*Ln(36));
end;
...
Unit2
Код:

...
implementation
procedure TForm1.FormCreate(Sender: TObject); // этот код выполняется во время создания окна
begin
Label1.Caption:=FloatToStr(Unit1.a()); // вызов функции
end;
...