Форма и код в разных файлах

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
Аватара пользователя
Gorjatschew
новенький
Сообщения: 23
Зарегистрирован: 15.01.2008 17:57:06
Откуда: Санкт-Петербург

Форма и код в разных файлах

Сообщение Gorjatschew »

Здравствуйте!
Рассказали мне, что в Delphi было реально сделать отдельно код программы и отдельно форму, причём можно было и скомпилировать разными компиляторами.
Подскажите, как это далается (или укажите, где об этом получше написано).
Извините, если как-то коряво вопрос сформулировал
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Gorjatschew писал(а):коряво вопрос сформулировал

очень коряво,

лучше раскажи что у тя есть и что надо получить.

разными компиляторами.

и насколько разными ? =) Си и Паскаль не получится =)

Добавлено спустя 19 секунд:
и главное зачем оно тебе надо.
Timid
постоялец
Сообщения: 290
Зарегистрирован: 21.11.2007 20:33:15

Сообщение Timid »

м.б. вопрос был о dll ?
Аватара пользователя
Gorjatschew
новенький
Сообщения: 23
Зарегистрирован: 15.01.2008 17:57:06
Откуда: Санкт-Петербург

Сообщение Gorjatschew »

Постараюсь исправится.
Имелось в виду, что код с формой и код никак не связаны --- то есть в одном модуле описано всё, что связано с формой, есть заготовки под обработчики событий, но сами события описаны в другом модуле.
Необходимо для того, чтобы один человек разрабатывал тнтерфейс, а другой --- под него писал код, причём, так как программа стандартная для разных нужд, удобнее было бы просто переписывать строчки в коде, чем всю программу целиком.
С разельной компиляцией --- это я погоричился.
Программа компилироваться будет целиком.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

используй инклуды
Аватара пользователя
Gorjatschew
новенький
Сообщения: 23
Зарегистрирован: 15.01.2008 17:57:06
Откуда: Санкт-Петербург

Сообщение Gorjatschew »

alexs писал(а):используй инклуды

А можно об этом по подробнее?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

директива компилятора {$I имя_файла} - почитай в документации
смысл - можеш во включаемые файлы вынести код, который меняется от проекта к проекту. ТОлько не забывай их синхронизировать вовремя.
И условная компияция тебе в помощь :-)
Timid
постоялец
Сообщения: 290
Зарегистрирован: 21.11.2007 20:33:15

Сообщение Timid »

2A, Нет, для начинающего этот способ некорректен.

2Gor, Используй модуль, в котором создай экземпляр класса, в котором разработай всю необходимую функциональность.

Код: Выделить всё

type TMyClass=class(TComponent)
private
  ... какие-то массивы, переменные, внутренние процедуры
public
  constructor Create(AOwner:TComponent)
  destructor Destroy;
  ... другие методы и функции, например,
  procedure BuiltIndexOfMyCoolDatabase; // построение индекса по моей базе данных
end;

в разделе implementation опиши все функции и процедуры как заглушки, т.е. в теле только begin и end


Этот модуль отдай на разработку "кодеру"

В заготовке дизайна основной формы подключи этот модуль.
Добавь объект в private раздел формы, например, FMyClass:TMyClass;
В обработчике FormCreate инициализируй его

Код: Выделить всё

procedure TForm1.Create
begin
  FMyClass:=TMyClass.Create(Self);
end;

В обработчике FormDestroy, уничтожь

Код: Выделить всё

procedure TForm1.Destroy;
begin
  FreeAndNil(FMyClass);
end;

Эту заготовку отдай дизайнеру.

Везде где необходимо дизайнер будет писать что-нибудь в духе
FMyClass.SaveDataFile
а соответствующая процедура уже будет описываться кодером в своем модуле.

И вообще, подробнее о создании и использовании модулей классов можно почитать в любой книжке по Delphi.
Ответить