Hello everyone.
I need to separate a report from the main app.
For example:
→ parent.app with all functionalities
→ report.app only with the report
Explaining:
By separating the two, I can update only one or the other, without having to stop all the work on the client, when the update is for the layout, for example.
Is something like this possible?
return#=report.app(data)
if return false…
Do you currently have your DCT and Files in a separate APP / DLL ?
That would be a first step to get working before making a DLL for Reports. You will find the DLL Tutor in the examples.
A simpler way I have seen done that avoids the DLL need is to make the Reports APP create another EXE. Then in your Main APP you RUN('MyReports.exe RunReport=Laudo_Todos_Relat'). Do not RUN( ,1) with the “,1” to wait, that will hang your main exe.
In the Reports EXE the Main procedure would a Source Procedure. It would check COMMAND() to see if there was a command line with a Report and run that then HALT. If no command it could call a Frame procedure. That would be very handy for your development and testing.
This way has some advantages that the reports are running in a separate process so your Main EXE is fully functional. You can always change the Reports.EXE to a DLL in the future.
To copy/move your current Report procedure to your new Reports APP my preferred way is to do a Selective Export to TXA, then Import TXA into the Reports APP. I have had problems with Import from APP so avoid it. This also leaves a little history of TXAs with procedures moved/copied.