Присоединение файлов с собственными функциями
Ситуация следущая:
Имею кучу функций в одном файле, неудобно
Создаю новый Unit
туда в раздел implementation
кидаю свои функции
Затем в uses главного файла, в котором эти функции используются, прописываю этот Unit
запускаю и получаю ошибки, мои глобальные переменные из первого файла не видны в функциях которые я кинул в Unit
тогда я добавляю в interface
"uses главный файл;" и получаю другую ошибку , что-то типа цикличных ссылок
Так как же правильно выносить заграмождающие функции в отдельный файл???????
Заранее спасибо,
Дмитрий
Во втором случае ругаться никто не будет, но вообще-то говоря это плохой стиль, место глобальных переменных в отдельном модуле.
Правильно. А еще лучше передавать все через параметры. Так и переносимость будет.
interface
uses
vspomogatel;
Сам модуль выглядит так
unit vspomogatel;
interface
implementation
var
num_okon: integer;
end.
Однако по прежнему
ошибка тпа не описаны переменные
Пробовал добавлять uses в раздел
implementation
Ошибка - та же
unit UnitGl;
interface
var
v1,v2:integer;
implementation
end.
--------------------------
unit Funct;
interface
uses UnitGl;
function Fn:integer;
implementation
function Fn:integer;
begin
Result:=v1+v2;
end;
end.
---------------------------
Unit Main;
interface
uses
UnitGl,Funct;
function Main:integer;
implementation
function Main:integer;
begin
v1:=4;
v2:=3;
Result:=Fn;
end;
end.
Только не забудь их в проект добавить. Или откомпилировать в другом месте.
Спасибо, разобрался