Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2009, 12:42   #1
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
Вопрос Платная и бесплатная версии программы

Приветствую, друзья.

Подскажите методы, как удобней разделять платную и бесплатную версии софта?
Скажем, есть софт. В бесплатной версии отключены некоторые функции, форма выглядит по-одному. В платной версии все функции включены и на форме присутствуют некоторые элементы.

Как удобней компилить платную и бесплатную версии? Вручную включать-отключать функции при каждой компиляции? Может в дельфи есть какой-нибудь Batch process, который автоматом будет корректировать код по заранее записанному сценарию? Так как, если надо отключать функции в разных местах (просто комментировать их через "//"), то долго прыгать по коду получается.
Подскажите иные способы.

Благодарю
mosq вне форума Ответить с цитированием
Старый 28.08.2009, 12:46   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Основа - бесплатное распространение. Процедура, включающая возможности платной версии. Я реализую это так.
Таким образом у тебя будет один исходник, один исполняемый файл, и что-то, запускающее нужную процедуру на включение платных приимуществ.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 28.08.2009, 12:56   #3
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

Я сейчас компилирую две версии .ехе - бесплатная физически не имеет кода, который имеет платная.
Например, в бесплатной нельзя сохранять настройки (кнопка деактивирована + вырезан код сохранения настроек), а в платной можно .
Просто для этого приходится компилить беспланую, с закомментированными процедурами, потом копирвать ехе-шник в отдельную папку как free версию, и компилить второй раз с рабочей функцией, потом копировать ее как full версию.
И таких мест, как это сохранение настроек, в программе много. Вот и задумался, может есть какие-нибудь директивы для компилятора.
Скажем, я компилю с параметром -free и он не включает в исполняемый файл выделенные особым образом коды (например, (*free_version [code,code,code..] /free_version*) )
А при компиляции с параметром -full он игнорирует все метки и компилит весь код.
Есть что-нибудь подобное?
mosq вне форума Ответить с цитированием
Старый 28.08.2009, 13:05   #4
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
Лампочка

Не хочется разводить полемику и гонять воду туда сюда, но подобные возможности мне не известны... Однако, можно вынести все платные возможности в отдельный модуль (UNIT) и подключать/отключать его по необходимости, при этом комментируя минимум исходного кода.

На счет действий по нажатию: реализуется в 2 счета. Создаем событие, пишем код. Тестим. Работает - прекрасно! Убираем событие с компонента. Платная версия?! Прелестно:
Код:
MainMenuButton.OnClick:= MainMenuButtonOnClick
И не надо ничего комментировать.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 28.08.2009, 13:42   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

mosq, на чём компилите программу?
(хм.. раздел Общие вопросы Дельфи. тогда, думаю, что на Delphi ? )

Дело в том, во всех современных компиляторах (и не современных тоже )
есть такое понятие, как условная компиляция.

в Delphi это, например, можно сделать так {$DEFINE name} / {$IFDEF}.. {$ELSE}..{$ENDIF}

тогда управля, задан ли определённый DEFINE - можно при компилиции получать изменённую версию (FREE, LITE, TIME_LIMIT, FULL, EXTRA - всё, на что хватит Вашей фантазии по разделению функций и возможностей).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.08.2009, 13:53   #6
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

Serge_Bliznykov, это уже интересней. Надеюсь, в хэлпе дельфей инфа присутствует. Пойду пошукаю там.

Верняк, это то, что мне нужно было.
Респект Вам в профиль, тему можно закрыть

Последний раз редактировалось Stilet; 28.08.2009 в 14:44.
mosq вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
платная помощь студенту Аспид Помощь студентам 15 31.05.2008 00:45
Требуется платная помощь dimaf Фриланс 13 27.09.2007 12:25