Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];

Вниз

Условная компиляция. Приглашение к разговору.   Найти похожие ветки 

 
Alexander Vasjuk   (2002-04-16 11:46) [0]

Условное отключение визуальных объектов при компиляции. Возможно ли это?

С run-time созданием компонентов все понятно. Обособил условными директивами создание и использование, и вперёд.
А как быть с объектами в формах например? *.DFM не поддерживают условную компиляцию(?).
Можно конечно понатыкать кучу xxx.Hide внутри директив, но, согласитесь, это не есть красивое решение. Откомпилированый проект должен ничем не отличаться от как бы если он был урезан до компиляции без директив.

(проблема навеяна необходимостью поддержки двух версий проекта - с модулем производства и без).
И еще. Давайте сначала рассмотрим варианты без технологии ActiveX, а потом, если не получится, обсудим и эту возможность.

Ваши мысли, господа кодеры:


 
Alexander Vasjuk   (2002-04-16 12:51) [1]

Да... Азарт нынче не в моде...


 
PVOzerski   (2002-04-16 12:58) [2]

Вариант 1: пишем свой препроцессор текстовых форм с поддержкой директив условной
компиляции и пропускаем через него формы перед сборкой. Естественно, вставлять
директивы в текст формы придется после основной разработки проекта. А вот разработчикам
Delphi 7 и Lazarus я бы посоветовал задуматься (жаль, не прочтут :^))


 
wicked   (2002-04-16 12:59) [3]

чес говоря, не совсем понял твою мысль... ты хочешь условно компилироват проект, при этом условия компиляции использовать для включения или не включения в проект определённых форм?...
если да, то можно использовать директивы условной компиляции для секции uses, например:

uses windows, sysutils, {$ifdef cond} <твой модуль>, {$endif}... <blah-blah-blah>;

соответственно и оформить вызовы этого условно присутствующего модуля...


 
Alexander Vasjuk   (2002-04-16 17:27) [4]

PVOzerski © (16.04.02 12:58)
"после основной разработки проекта" сразу после вставки директив обязательно потребуется внести небольшие изменения :)

wicked © (16.04.02 12:59)
С формами (модулями) проще.
А я хочу опционально не включать в проект отдельные кнопки, закладки в TPageControl и т.п.



 
kull   (2002-04-16 18:17) [5]

Используй другие методы для разделения версий.
CVS, например.
С условной компиляцией намного сложнее.
А используя какую-либо систему контроля версий, легко поддерживать разные релизы, многоверсионность, следить за изменениями кода, и т.д.
При разрастаниии проекта становится трудно следить за правильным использованием условной компиляции.

Короче ее надо использовать для вещей типа {$DEFINE DEBUG}.

Я рекомендую CVS.


 
Alexander Vasjuk   (2002-04-16 19:20) [6]

kull © (16.04.02 18:17)
Хочу спросить.
Если я исправляю глюки в версии без закладки "Производство" в PageControl, CVS исправит их и в версии, имеющей такую закладку?
Оно что, парсит исходный текст? Насколько оно интелектуально в этом плане?
И еще.
Сравни ее с TeamSource. Хотелось бы юзать что-то от одной фирмы.
И последнее.


 
kull   (2002-04-16 20:27) [7]

Нет в версии без закладки CVS не исправит глюки в другой версии.
Cvs, а также TeamSource ничего не исправляют. Исправляет программер, а CVS позволяет следить за исправлениями (т.е. он хранит все исправления в своем хранилище) и при необходимости откатываться к стабильной версии. CVS вообще не завязан на какой-то компилятор. В нем можно хранить любые файлы, также и бинарные. В нем создаются отдельные ветви для разных версий (чего кстати нельзя сделать в TeamSource). И если надо чтобы исправление бага повлияло на обе версии, можно воспользоваться такой возможностью, как слияние веток, только здесь надо быть аккуратным.

Я пользовался сначала TeamSource, но из за того что в нем нет возможности ветвиться на версии, перешел на CVS (графическая оболочка к нему WinCvs). CVS к тому же помощнее будет...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
7-94581
M-A-B
2002-02-01 12:13
2002.04.29
СОМ-порт


4-94632
Эйнхерий
2002-02-26 10:51
2002.04.29
Загвоздка при использовании WH_KEYHOOK и передачи параметров в главное приложение.


4-94636
dlK
2002-02-26 09:39
2002.04.29
Помогите, нажать Ctrl+Alt+Del нужно ...


7-94601
Albun
2002-01-31 23:33
2002.04.29
USB Программирование


1-94498
Андрей Л
2002-04-16 00:05
2002.04.29
лимит ListBox-а.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский