Отчет в DLL
Добрый день!!!
Решил разместить отчет в DLL, сделал по аналогии как в DEMO только с DataModule:
Отчет вызывается, строится, закрывается, но когда я дохожу до
В чет проблема нипонятно.
Решил разместить отчет в DLL, сделал по аналогии как в DEMO только с DataModule:
Procedure GetReport(A: TApplication; NPacient:integer);
var
dmReport: TDataModule1;
begin
Application.Handle := A.Handle;
dmReport := TDataModule1.Create(A);
try
if not dmReport.frxReport1.LoadFromFile('DirOnProcA41.fr3') // reportName
then ShowMessage('Файл отчета ''+reportName+'' не загруженна')
else
begin
dmReport.frxReport1.ShowReport;
end;
finally
dmReport.Free;
end;
end;
Вызов процедуры из DLL:
var
LibHandle: THandle;
GetReport: TGetReport;
begin
LibHandle := LoadLibrary('DllReport.dll');
try
if LibHandle = HINSTANCE_ERROR then
raise EDLLLoadError.Create('Unable to Load DLL');
@GetReport := GetProcAddress(LibHandle, 'GetReport');
if not (@GetReport = nil) then
GetReport(Application,Query2.FieldByName('NPacient').AsInteger);
finally
FreeLibrary(LibHandle);
end;
end;
Отчет вызывается, строится, закрывается, но когда я дохожу до
FreeLibrary(LibHandle);
Выскакиевает виолейшин с нулями.В чет проблема нипонятно.