FastReport и DLL

отредактировано 00:18 Раздел: FastReport 2.xx VCL
Ситуация такая: FastReport находится в DLL и поэтому не подключает никакие Базы. Можно их как - нибудь в ручную добавить?..

Комментарии

  • отредактировано 00:18
    Не видит базы на формах основного приложения или что-то еще?
  • отредактировано 00:18

    var      ReportSystem:IFastReport;
    ...........
    
    ReportSystem := CreateComObject(StringToGUID('{27473706-CF80-4F8E-B898-809E753FA328}')) as IFastReport;
    ReportSystem.GenerateReport(Application.Handle,DataModule3.ReportsFile);
    

    Сама функция:
    Function TFastReport.GenerateReport(AppHandle: THandle;ReportBlobField:TField) : Integer;
    // Функция по генерации отчета по BLOB полю.
     begin
     Result := 0;
        try
         Application.Handle := AppHandle;
         Application.CreateForm(TDMReport, DMReport);
        except
         Result:= -9; // Ошибка создания объекта.
         Exit;
        end;
    
        try
         DMReport.frReport.LoadFromBlobField(ReportBlobField);
        except
         Result:= -8; // Ошибка загрузки шаблона отчета.
         Exit;
        end;
    
        try
         DMReport.frReport.ShowReport;
        except
         Result:= -7; // Ошибка визуализации отчета.
         Exit;
        end;
        Result := 1;
     end;
    
    DMReport простой Data Module с Компонентами FastReport.

  • отредактировано 00:18
    AlexTZ написал:
    Не видит базы на формах основного приложения или что-то еще?
    FastReport вызывается из DLL.
    У объекта TfrADOQuery нет не одного Database.
    При налиции FastReport'а в программе все работало, но было принято решение по разбиению программы на модули.
  • отредактировано 00:18
    2 ItMan:

    Если у вас будет модульная структура проекта, то ИМХО и отчёты ТОЖЕ ДОЛЖНЫ БЫТЬ НЕЗАВИСЫМЫМИ от остальных модуль ...
    Т.е. в отчёте делаешь ВСЁ и TDataBase и TQuery.
  • отредактировано 00:18
    Vano написал:
    2 ItMan:

    Если у вас будет модульная структура проекта, то ИМХО и отчёты ТОЖЕ ДОЛЖНЫ БЫТЬ НЕЗАВИСЫМЫМИ от остальных модуль ...
    Т.е. в отчёте делаешь ВСЁ и TDataBase и TQuery.
    да я не спорю, но у меня 48 таблиц и все клонировать как-то нет желания. И еще как тогда определить на какой записи пользователь стоит.
    А вот никто не знает, как он их добавляеть, какой процедурой.?.
  • отредактировано 00:18
    Вопрос к разработчикам:
    Вообще возможно ли FastReport Вывести в DLL?.
    Я имею купленную версию FR. А везде молчат и Support как портизан не ответа, не привета.

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

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