Пакетирование

отредактировано 17:35 Раздел: FastScript
fs7.dpk

contains

fs_iextctrlsrtti in 'fs_iextctrlsrtti.pas',
fs_iformsrtti in 'fs_iformsrtti.pas',
fs_igraphicsrtti in 'fs_igraphicsrtti.pas',
fs_iilparser in 'fs_iilparser.pas',
fs_iinterpreter in 'fs_iinterpreter.pas',
fs_iparser in 'fs_iparser.pas',
fs_isysrtti in 'fs_isysrtti.pas',
fs_itools in 'fs_itools.pas',
fs_xml in 'fs_xml.pas',
fs_synmemo in 'fs_synmemo.pas',
fs_tree in 'fs_tree.pas';

Проблема в следующем. Если я строю проєкт на основе bpl, то подключение fs7.bpl
атоматически ЗАСТАВЛЯЕТ меня поставлять с продуктом файлы которых я не использую.
Например: TeeChart который мне в проэкте не нужен.

И вообще ИМХО навязывать свои интеграции не есть правильно.
Фактически мне нужена только реализация движка. Какие *RTTI мне включать
это уже мое дело, потому как они могуть отличаться от поставляемых, пример тому тот же TeeChart.
Врбщем предлагаю движек завернуть в ожну bpl, а интеграции в другую. ТОесть идея в том чтобы каждый мог себе создать произвольный пакет интеграция, независимо от движка.

Перепакетировать fs7.dpk не представляеться возможным, так как его пользует отчетер( FastReport )

Комментарии

  • отредактировано April 2005
    Судя по всему, вы после установки пакета, на вопрос о сохранении, ответили положительно. В результате, при сохранении исчезли все параметры условной компиляции.
    Совет: востановите оргигинальный fs7.dpk и перекомпилируйте его.
  • отредактировано 17:35
    Да нет, там пакет так и выглядит. А я не вижу смысла дробить его на мелкие пакеты - процедура установки и так достаточно сложна. Не нужен чарт - удалите соответствующие строки из .dpk.
  • отредактировано April 2005
    Я жу сказал. Что перепакетирование вручную не подходит. Потому как обновления
    я получаю в тако м же виде как раньше, fs7.bpl используеться в FastReport, тоесть закоментарив ненужное я автоматом теряю его в отчетере. Служить за єтим єто не рационально. В чем проблема создать отдельній пакет для движка и "стандартных" компонент ? Для ADO, BDE, FIB веть имеем отдельные пакеты!!! Получая отдельный пакет который включает Classes, Forms, Controls, Chart ... и тд мЫ получаем гибкость: отчетер пользует "стандартные" интеграции. А сторонние продукты могут пользовать движек, но использовать пользовательские пакеты для Classes, Chart ... улучненные и расширенные. Постарайтесь понять и оценить мой подход. Наблюдая и учавствуя в тестированни SQLHammer я имел практику работы по такой схеме. Есть IDE которое дает возможность добавлять компоненты, но не ДОЛЖНО НАВЯЗЫВАТЬ нам их КОНКРЕТНУЮ реализацию. Реализация поставляемая в дистрибутиве безусловно хороша, но не полная, ее надо развивать и дополнять. Делая это вручную, тоесть равя исходники я обрекаю себя на вечную синхронизацию с обновлениями, а это уже почти участие в разработке.
    Извините за краткость ;)
  • отредактировано April 2005
    Мда... полный... игнор... ау гоcпода разработчики!!!
  • отредактировано 17:35
    написал:
    Судя по всему, вы после установки пакета, на вопрос о сохранении, ответили положительно. В результате, при сохранении исчезли все параметры условной компиляции.
    Совет: востановите оргигинальный fs7.dpk и перекомпилируйте его.

    Совет разработчикам : установите файлам *.bpk и *.dpk атрибут ReadOnly. Тогда никто ничего случайно не перезатрет.


  • отредактировано 17:35
    Да тут дело не в пакетах. Есче раз посторю. Ручное вмешательство в дистрибутив не желательно. Потому как фастрепотр пользует внутри фаст скрипт.
    А хочеться иметь голый движек. Чтобы имень возможность заменять "стандарные" реализаци, а так же дополнять их.


    Вот скажем ка мне расширить TForm? Ответ: Поправить рукати fs_iformsrtti.pas.
    Но как я потом буду обнявления ставить ? Заново носить все их версиис в верси?

    Уважаемые разработчики прислушайтесб пожалуйста к моему мнению.
  • отредактировано 17:35
    romb написал:
    Вот скажем ка мне расширить TForm? Ответ: Поправить рукати fs_iformsrtti.pas.
    Но как я потом буду обнявления ставить ? Заново носить все их версиис в верси?
    Дык ответ неправильный наверное, а не разработчики виноваты. Нужно расширить - делай наследника и расширяй сколько влезет. ;)
  • отредактировано 17:35
    Какого наследника ? от кого ?
    Если мне не хватает какогото метода от TForm, то я должен его добавить в реализации TForm, а не его наследника.

    От разработчиков я хочу гибкого продукта, который бы отвечал моим нуждам.
    Если єе я в чем то не прав в своих притязаниях, так хотябы приведите аргументы.
    И хоть какого то комьюнити!!!!
  • отредактировано 17:35
    Тогда добавляй каждый раз если не понимаешь таких простых вещей.
  • отредактировано 17:35
    Послушайте, _молодой_ человек. Как горорят умные книжки. "Для решения проблемы всегда существует простое решение и оно - неверно". Лучше сказали бы что нибудь по существу вопроса или обосновали свои выводы.
  • отредактировано 17:35
    Ты их сам уже обосновал.
  • отредактировано 17:35
    написал:
    (romb @ Jun 23 2005, 04:43 PM)
    Вот скажем ка мне расширить TForm? Ответ: Поправить рукати fs_iformsrtti.pas.
    Но как я потом буду обнявления ставить ? Заново носить все их версиис в верси? 
    Читаю данный топик уже с апреля и одного не понимаю, а чем плох вот такой подход:
    MyClass:=fsGlobalUnit.Find('TApplication') as TfsClassVariable;
    if MyClass<>nil then
    begin
    MyClass.AddProperty('MainForm','TForm',GetDelphiProp);
    MyClass.AddProperty('Icon','TIcon',GetDelphiProp,SetDelphiProp);
    MyClass.AddProperty('Title','string',GetDelphiProp,SetDelphiProp);
    MyClass.AddMethod('function FindForm(FormName: string): TForm;', CallDelphiMethod);
    MyClass.AddMethod('procedure Run;', CallDelphiMethod);
    end;

    Это я к тому, как добавить новые методы и свойства к стандартной реализации классов в fs7.bpl ничего в самом пакете не правя. Если вы сделаете над собой небольшое усилие, то по аналогии, легко можете догадаться, как удалить из fsGlobalUnit реализацию класса который вас не устраивает и заменить на свою.
  • отредактировано 17:35
    Ну это конечно выход, но костыли изобретать я и сам мастер.
    Но вообще я не об этом говорил... а о самой идеологии... комоновки продукта.
    Сам движек есть независимая по сути сущность и не нуждающаяся в дополнения х .. поэтому логично было его вынести в отдельный пакет.
    Почемуто для компонентов доступа и прочих расширений такие пакеты есть, а вот отдельно для VCL пожадничали. Дельфи кстати имеет отдельный пакет для VCL компонентов, а не компилит их в экзешник.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.