This sample might be a little out of "context" as we have had this feature in DE85 for "many" weeks already, but as ExecDQL w/Body and PDF creation is a great new feature and something that we all have been looking for "forever" it is important that we get the message and the "how to" across.
We have spoken to quite a lot of customers that has tried to use this based on previous samples and failed.
When we got their applications we realised that the Horrible DQL that has prevailed over the last 20 years and all the "necessary" workarounds and tricks people have to have employed is coming in the way.
All the features used in this sample is MAINSTREAM DE85 functionality. There is no tricks, CDFs, hacks, workarounds etc.
Forget tricks with global variables to get a dynamic file name, forget third party tools, forget chained DQLs and control procedures.
This is as simple as it can get.
The sample explains as you go along, make sure you use the next button to see the progress.
PS! You need to go to Design mode and check out the code. In this sample it is "all" DE8 i.e. functions and virtual fields etc. NO OML!
SetState() hide/show and enable/disable
SetVar()/GetVar() to transfer values between forms without using a relationship
SetStyle() to change style on the button when it is active or not.
SetLabelText() to change the label on the button from when it is active or not.
MoveObject() and MoveObject with S option (size) dynamically position the editors etc, and heading. Make it look better on different screen sizes. We also size the editor to the hight of the window.
LabelExecDL() to fire the DQL with the Layout stored in the two labels called DQL and Body
The best way to learn new things is to steal code and try to change it ;-)