Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.21;
Скачать: CL | DM;

Вниз

fast report в dll   Найти похожие ветки 

 
Dust ©   (2007-06-14 10:37) [0]

Есть проект на D7 с отчётом в FR 2.5 есть необходимость переработать его в dll. Отчёт на экране не отображается (молча).
Ктонибудь сталкивался с подобной проблемой? Подскажите решение.


 
Сергей М. ©   (2007-06-14 12:02) [1]


> Отчёт на экране не отображается


В смысле на вызов ShowReport нет никакой видимой реакции ? Так что ли следует истолковывать это самое "молча" ? Или все-таки preview-окно показывается, но его содержимое - "белый лист" ?


 
Dust ©   (2007-06-14 12:27) [2]

нет, окно превью не показывается вообще.
(*
library dllWeeklyReport;

uses
 windows,
 OLE2 in "..\..\..\..\Source\Rtl\Win\Ole2.pas",
 SysUtils,
 Classes,
 Forms,
 Unit1 in "Unit1.pas" {Form1},
 Unit2 in "ConnectionDlg\Unit2.pas" {ConnectionADODlg};

function MainFunc(const Whandle : dword):BOOL; stdcall;
begin
MessageBox (0, "Create1", "App", MB_OK);
CoInitialize (nil);
Form1 := TForm1.CreateParented(Whandle);
// Form1.ParentWindow := Whandle;
Form1.Show();
// Result := Bool(Form1.ShowModal());
// FreeAndNil (Form1);
// CoUninitialize();
end;
{$R *.res}
exports
 MainFunc name "MainFunc";
begin
end.
*)

program dllWeeklyReport;

uses
 Forms,
 Unit1 in "Unit1.pas" {Form1},
 Unit2 in "ConnectionDlg\Unit2.pas" {ConnectionADODlg};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.

во втором варианте, показанном выше (program dllWeeklyReport) отчёт отображается. Пробовал различные варианты - Form1 - модальная, немодальноая parenthandle =0 или окно предыдущего окна. Application.Handle = 0 или Application.Handle вызывающего проекта.
Остаётся загадкой в чём разница между проектом из Demos и моим отчётом. Единственное, пожалуй, что остаётся - я гружу форму отчёта из файла.


 
Bless ©   (2007-06-14 12:44) [3]


> Единственное, пожалуй, что остаётся - я гружу форму отчёта
> из файла.


А не может быть в этом все дело?

кусок
rep.LoadFromFile("1.frf");
rep.ShowReport;

поведет себя как ты и описываешь, если файла "1.frf" нет в текущей директории.

Если подставить в  LoadFromFile() полный путь к файлу, все остается по-прежнему?


 
Dust ©   (2007-06-14 13:15) [4]

2 Bless
Спасибо, именно в этом и была причина.

А вообще - не выкидывать в таких случаях исключений и возвращать True из Prepare -  чистой воды свинство и индусский код.



Страницы: 1 вся ветка

Текущий архив: 2007.10.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
8-1168425391
cautur
2007-01-10 13:36
2007.10.21
Запись разговора


15-1190306195
Александр Иванов
2007-09-20 20:36
2007.10.21
Подскажите фотоаппарат (тема с программированием связана :)


2-1191234035
F@T@L_Err0r
2007-10-01 14:20
2007.10.21
TServerSoker и TClientSoker


1-1186230262
TStas
2007-08-04 16:24
2007.10.21
Где в реестре адрес автономной страницы браузера? (IE)


2-1190381870
mike_zav
2007-09-21 17:37
2007.10.21
FreeAndNil