Главная страница
    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
1-94366
USAtyj
2002-04-17 12:53
2002.04.29
Работа с OLE Winword.


4-94609
Begunkov
2002-02-21 20:00
2002.04.29
Блокировка части файла


6-94536
avk
2002-02-15 22:51
2002.04.29
TStream...получение картинки...


3-94277
DANCHA
2002-04-06 09:57
2002.04.29
Компонент TADOTable и глюки в работе с ним


4-94641
fag2000@ok.ru
2002-02-26 15:14
2002.04.29
Как отследить все события от мыши и клавиатуры посылаемые другому приложению





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский