Fastscript под .net

отредактировано 07:28 Раздел: FastScript
BDS2006, Delphi .NET
FastReport Studio
Подключаю через Interop.FastReport.dll
В Delphi пишу так:

MyScriptClass: TFastScriptClass;

Доступны только запись в скрипт, выполнение его...и еще пару возможностей
А как полноценно подключить FastScript?
Чтобы можно было работать с классами, методами и т.д.

Комментарии

  • отредактировано September 2007
    Классы в скрипте добавляются и используются через RTTI механизм Delphi, т.е. любой добавляемый класс должен быть наследован хотя бы от TObject (для поиска класса и методов).
    Поэтому, добавлять классы в FR Studio нельзя.
  • отредактировано 07:28
    написал: »
    Поэтому, добавлять классы в FR Studio нельзя.

    Ок
    Поставлю вопрос немного по другому:
    Есть ли возможность полноценной работы со скриптом в .NET?

    Если нет-что посоветуете:
    Емкий серьезный проект
    планирум писать под .NET
    Как полноценно использовать FastReport в данной ситуации?

  • отредактировано 07:28
    _andrews_ написал: »
    Ок
    Поставлю вопрос немного по другому:
    Есть ли возможность полноценной работы со скриптом в .NET?
    Если нет-что посоветуете:
    Емкий серьезный проект
    планирум писать под .NET
    Как полноценно использовать FastReport в данной ситуации?

    Что вы имеете введу под полноценной работой ?
    Вы можете загружать скрипт, добавлять пользовательские функции (только через интерфейс отчета), есть возможность создавать плагины (аналогия внутренним оберткам для движков БД), и др..

    Нельзя:
    - передавать объект из приложения в скрипт/отчет (т.к. это не VCL)
    - добавлять классы из приложения (уже объяснял почему)
    - создавать внутренние компоненты для studio.

  • отредактировано 07:28
    написал: »
    Вы можете загружать скрипт, добавлять пользовательские функции (только через интерфейс отчета), есть возможность создавать плагины (аналогия внутренним оберткам для движков БД), и др..

    Нельзя:
    - передавать объект из приложения в скрипт/отчет (т.к. это не VCL)
    - добавлять классы из приложения (уже объяснял почему)
    - создавать внутренние компоненты для studio.

    Есть задача обмениваться данными
    Из приложения в отчет, из отчета в приложение
    Акцент: При построении отчета, генератор должен считать из приложения какое-либо значение и построить отчет используя это значение
    например цвет
    MyReport.MyTeeChart.Series.Color := MyClass.GetColor;
    Ну что-то из этой серии
    Причем Report не знает имен переменных, компонентов на форме приложения
    Я думал осуществить это через классы
    Report вызывает метод класса MyClass.GetColor а реализация метода уже описана в приложении
    Как теперь?*
  • отредактировано 07:28
    _andrews_ написал: »
    Report вызывает метод класса MyClass.GetColor а реализация метода уже описана в приложении
    Как теперь?*
    Только через пользовательскую функцию.
  • отредактировано 07:28
    написал: »
    Только через пользовательскую функцию.
    Подскажите как работать с пользоват.функцией в .NET
    В документации описаны действия для FastReport 3, 4
    Для FastReportStudio не нашел
  • отредактировано 07:28
    Посмотрите демку Demo\Delphi.NET\UserFunctionExample
  • отредактировано 07:28
    написал: »
    Посмотрите демку Demo\Delphi.NET\UserFunctionExample

    У меня вылазит ошибка в строке

    Include(Report.OnUserFunction, Self.OnUserFunction);
    Error: Incompatible types: 'procedure, untyped pointer or untyped parameter' and 'Object'

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

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