Форма и код в разных файлах
Модератор: Модераторы
- Gorjatschew
- новенький
- Сообщения: 23
- Зарегистрирован: 15.01.2008 17:57:06
- Откуда: Санкт-Петербург
Форма и код в разных файлах
Здравствуйте!
Рассказали мне, что в Delphi было реально сделать отдельно код программы и отдельно форму, причём можно было и скомпилировать разными компиляторами.
Подскажите, как это далается (или укажите, где об этом получше написано).
Извините, если как-то коряво вопрос сформулировал
Рассказали мне, что в Delphi было реально сделать отдельно код программы и отдельно форму, причём можно было и скомпилировать разными компиляторами.
Подскажите, как это далается (или укажите, где об этом получше написано).
Извините, если как-то коряво вопрос сформулировал
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Gorjatschew писал(а):коряво вопрос сформулировал
очень коряво,
лучше раскажи что у тя есть и что надо получить.
разными компиляторами.
и насколько разными ? =) Си и Паскаль не получится =)
Добавлено спустя 19 секунд:
и главное зачем оно тебе надо.
м.б. вопрос был о dll ?
- Gorjatschew
- новенький
- Сообщения: 23
- Зарегистрирован: 15.01.2008 17:57:06
- Откуда: Санкт-Петербург
Постараюсь исправится.
Имелось в виду, что код с формой и код никак не связаны --- то есть в одном модуле описано всё, что связано с формой, есть заготовки под обработчики событий, но сами события описаны в другом модуле.
Необходимо для того, чтобы один человек разрабатывал тнтерфейс, а другой --- под него писал код, причём, так как программа стандартная для разных нужд, удобнее было бы просто переписывать строчки в коде, чем всю программу целиком.
С разельной компиляцией --- это я погоричился.
Программа компилироваться будет целиком.
Имелось в виду, что код с формой и код никак не связаны --- то есть в одном модуле описано всё, что связано с формой, есть заготовки под обработчики событий, но сами события описаны в другом модуле.
Необходимо для того, чтобы один человек разрабатывал тнтерфейс, а другой --- под него писал код, причём, так как программа стандартная для разных нужд, удобнее было бы просто переписывать строчки в коде, чем всю программу целиком.
С разельной компиляцией --- это я погоричился.
Программа компилироваться будет целиком.
- Gorjatschew
- новенький
- Сообщения: 23
- Зарегистрирован: 15.01.2008 17:57:06
- Откуда: Санкт-Петербург
alexs писал(а):используй инклуды
А можно об этом по подробнее?
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
директива компилятора {$I имя_файла} - почитай в документации
смысл - можеш во включаемые файлы вынести код, который меняется от проекта к проекту. ТОлько не забывай их синхронизировать вовремя.
И условная компияция тебе в помощь
смысл - можеш во включаемые файлы вынести код, который меняется от проекта к проекту. ТОлько не забывай их синхронизировать вовремя.
И условная компияция тебе в помощь
2A, Нет, для начинающего этот способ некорректен.
2Gor, Используй модуль, в котором создай экземпляр класса, в котором разработай всю необходимую функциональность.
Этот модуль отдай на разработку "кодеру"
В заготовке дизайна основной формы подключи этот модуль.
Добавь объект в private раздел формы, например, FMyClass:TMyClass;
В обработчике FormCreate инициализируй его
В обработчике FormDestroy, уничтожь
Эту заготовку отдай дизайнеру.
Везде где необходимо дизайнер будет писать что-нибудь в духе
FMyClass.SaveDataFile
а соответствующая процедура уже будет описываться кодером в своем модуле.
И вообще, подробнее о создании и использовании модулей классов можно почитать в любой книжке по Delphi.
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.
