Главная страница
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.022 c
6-1171820465
Alex Churton
2007-02-18 20:41
2007.10.21
Как создать интерфейс для удалёной железяки?


15-1190563931
ProgRAMmer Dimonych
2007-09-23 20:12
2007.10.21
Поддскажите, плз, самое простое и быстрое решение...


6-1171873686
megajober3d
2007-02-19 11:28
2007.10.21
Проблема с UDP пакетами по сети Internet


15-1190192760
nikolaygor
2007-09-19 13:06
2007.10.21
Delphi: Сдвиг строчек в редакторе кода


5-1161949927
DevilDevil
2006-10-27 15:52
2007.10.21
Панели не сохраняются в DFM