![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 28.08.2009
Сообщений: 90
|
![]()
Приветствую, друзья.
Подскажите методы, как удобней разделять платную и бесплатную версии софта? Скажем, есть софт. В бесплатной версии отключены некоторые функции, форма выглядит по-одному. В платной версии все функции включены и на форме присутствуют некоторые элементы. Как удобней компилить платную и бесплатную версии? Вручную включать-отключать функции при каждой компиляции? Может в дельфи есть какой-нибудь Batch process, который автоматом будет корректировать код по заранее записанному сценарию? Так как, если надо отключать функции в разных местах (просто комментировать их через "//"), то долго прыгать по коду получается. Подскажите иные способы. Благодарю |
![]() |
![]() |
![]() |
#2 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
![]()
Основа - бесплатное распространение. Процедура, включающая возможности платной версии. Я реализую это так.
Таким образом у тебя будет один исходник, один исполняемый файл, и что-то, запускающее нужную процедуру на включение платных приимуществ.
Познавая других, мы познаем себя.
С'est la vie... |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 28.08.2009
Сообщений: 90
|
![]()
Я сейчас компилирую две версии .ехе - бесплатная физически не имеет кода, который имеет платная.
Например, в бесплатной нельзя сохранять настройки (кнопка деактивирована + вырезан код сохранения настроек), а в платной можно . Просто для этого приходится компилить беспланую, с закомментированными процедурами, потом копирвать ехе-шник в отдельную папку как free версию, и компилить второй раз с рабочей функцией, потом копировать ее как full версию. И таких мест, как это сохранение настроек, в программе много. Вот и задумался, может есть какие-нибудь директивы для компилятора. Скажем, я компилю с параметром -free и он не включает в исполняемый файл выделенные особым образом коды (например, (*free_version [code,code,code..] /free_version*) ) А при компиляции с параметром -full он игнорирует все метки и компилит весь код. Есть что-нибудь подобное? |
![]() |
![]() |
![]() |
#4 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
![]()
Не хочется разводить полемику и гонять воду туда сюда, но подобные возможности мне не известны... Однако, можно вынести все платные возможности в отдельный модуль (UNIT) и подключать/отключать его по необходимости, при этом комментируя минимум исходного кода.
На счет действий по нажатию: реализуется в 2 счета. Создаем событие, пишем код. Тестим. Работает - прекрасно! Убираем событие с компонента. Платная версия?! Прелестно: Код:
Познавая других, мы познаем себя.
С'est la vie... |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
mosq, на чём компилите программу?
(хм.. раздел Общие вопросы Дельфи. тогда, думаю, что на Delphi ? ![]() Дело в том, во всех современных компиляторах (и не современных тоже ![]() есть такое понятие, как условная компиляция. в Delphi это, например, можно сделать так {$DEFINE name} / {$IFDEF}.. {$ELSE}..{$ENDIF} тогда управля, задан ли определённый DEFINE - можно при компилиции получать изменённую версию (FREE, LITE, TIME_LIMIT, FULL, EXTRA - всё, на что хватит Вашей фантазии по разделению функций и возможностей). |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 28.08.2009
Сообщений: 90
|
![]()
Serge_Bliznykov, это уже интересней. Надеюсь, в хэлпе дельфей инфа присутствует. Пойду пошукаю там.
Верняк, это то, что мне нужно было. Респект Вам в профиль, тему можно закрыть ![]() Последний раз редактировалось Stilet; 28.08.2009 в 14:44. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
платная помощь студенту | Аспид | Помощь студентам | 15 | 31.05.2008 00:45 |
Требуется платная помощь | dimaf | Фриланс | 13 | 27.09.2007 12:25 |