Printing in threads
I am a newbie to Rbuilder (7.01 enterprise). I am building a server
that dynamically loads packages and does some task. One of these
packages loads a report and sends the output as an email attachment. I
am using a stored procedure in interbase to bring me the name of the
report and the template from RB_ITEM. I then use a JIT pipeline to
supply a call to Report.Template.LoadFromDatabase ;
The problem I'm having is that the jit pipeline does not raise any
events and just raises an error "record not found : xxx". I have no
idea what I'm doing wrong or if this is possible. Any advice would be
appreciated.
Regards,
Will.
that dynamically loads packages and does some task. One of these
packages loads a report and sends the output as an email attachment. I
am using a stored procedure in interbase to bring me the name of the
report and the template from RB_ITEM. I then use a JIT pipeline to
supply a call to Report.Template.LoadFromDatabase ;
The problem I'm having is that the jit pipeline does not raise any
events and just raises an error "record not found : xxx". I have no
idea what I'm doing wrong or if this is possible. Any advice would be
appreciated.
Regards,
Will.
This discussion has been closed.
Comments
---------------------------------------------------------------
Tech Tip: How to Programmatically Load Reports that were Saved
using the Report Explorer
---------------------------------------------------------------
1. The ReportExplorer has a run-time interface you can use to load reports
using the ReportExplorer.LoadReport method. You can use this method without
actually 'showing' the report explorer form. (See the online help topic for
TppReportExplorer.)
2. If you want use Report.Template.LoadFromDatabase, RB will locate the
report stored in the database table based upon the NameField value only.
However, for the rb_item table you need Folder_Id, Name to locate a record
uniquely.
To override this default behavior, assign an event-handler to the
Report.Template.OnLocateRecord event.
example:
TmyForm = class(TForm)
private
function ReportLocateRecordEvent(Sender: TObject; const aReportName:
String): Boolean;
end;
procedure TmyForm.FormCreate(Sender, TObject);
begin
{assign the event handler}
FReport.Template.OnLocateRecord := ReportLocateRecordEvent;
end;
function TmyForm.ReportLocateRecordEvent(Sender: TObject; const aReportName:
String): Boolean;
begin
{add logic here to locate the record and return True if it is found}
Result := myLocateReportFunction(FFolderid, aReportname);
end;
--
Nard Moseley
Digital Metaphors
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com