Страница 1 из 1
Форма и код в разных файлах
Добавлено: 30.05.2008 00:11:15
Gorjatschew
Здравствуйте!
Рассказали мне, что в Delphi было реально сделать отдельно код программы и отдельно форму, причём можно было и скомпилировать разными компиляторами.
Подскажите, как это далается (или укажите, где об этом получше написано).
Извините, если как-то коряво вопрос сформулировал
Re: Форма и код в разных файлах
Добавлено: 30.05.2008 20:22:18
Attid
Gorjatschew писал(а):коряво вопрос сформулировал
очень коряво,
лучше раскажи что у тя есть и что надо получить.
разными компиляторами.
и насколько разными ? =) Си и Паскаль не получится =)
Добавлено спустя 19 секунд:и главное зачем оно тебе надо.
Re: Форма и код в разных файлах
Добавлено: 31.05.2008 09:48:57
Timid
м.б. вопрос был о dll ?
Re: Форма и код в разных файлах
Добавлено: 31.05.2008 21:22:01
Gorjatschew
Постараюсь исправится.
Имелось в виду, что код с формой и код никак не связаны --- то есть в одном модуле описано всё, что связано с формой, есть заготовки под обработчики событий, но сами события описаны в другом модуле.
Необходимо для того, чтобы один человек разрабатывал тнтерфейс, а другой --- под него писал код, причём, так как программа стандартная для разных нужд, удобнее было бы просто переписывать строчки в коде, чем всю программу целиком.
С разельной компиляцией --- это я погоричился.
Программа компилироваться будет целиком.
Re: Форма и код в разных файлах
Добавлено: 31.05.2008 22:03:59
alexs
используй инклуды
Re: Форма и код в разных файлах
Добавлено: 31.05.2008 22:28:07
Gorjatschew
alexs писал(а):используй инклуды
А можно об этом по подробнее?
Re: Форма и код в разных файлах
Добавлено: 31.05.2008 22:31:50
alexs
директива компилятора {$I имя_файла} - почитай в документации
смысл - можеш во включаемые файлы вынести код, который меняется от проекта к проекту. ТОлько не забывай их синхронизировать вовремя.
И условная компияция тебе в помощь

Re: Форма и код в разных файлах
Добавлено: 02.06.2008 09:19:31
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.