Форум: "Базы";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c