New Function 8 - PrintHTML() - Use DataEase Webfield functionality to print a file as HTML (Ver. 18.104.22.1685)
So why do we add a function like this. Is it DataEase job to print a text/html document?
Yes, it is now!
In DataEase 8 you can generate a Text/HTML document in several ways. For redundancy and flexibility we "replicate" functionality in two difference scenarios. In one scenario we use the Memo field as the direct storage class, but you can also use files directly. Using one or the other is down to you, but sometimes it is better to use a file (memo is limited to 32k anyway), and sometimes it is better to use Memo.
You can now for instance use a DQL and MemoWriteToFile with the append option to dynamically create an output file/export file.
If it is an export file, fine. But if you for instance built a HTML invoice, letter etc, you might want to print it directly. And this is what PrintHTML() does.
It is not secret that formatting printing in DFW is a nightmare, and we haven't spent our time trying to fix this. It should have been done 20 years ago, but the reason they never did is that the way printing was implemented in DFW was a mistake, and a big one.
It might have been possible to correct this back then, and it might have made a big difference, but now it is simply to late. Instead of doing brain surgery on this difficult code, we try to go around it by offering alternative routes.
With the new MemoClass functionality, you can create any document dynamically and print it as HTML. This means that you can format it anyway you like, and a WYSIWYG finally means something. You will also be able to print "size to fit" etc, and dynamic formatting...high time!
Over the next year we will also publish a spin off from our DG3 development DataEase 8 Reporter. This is a standalone tool where you can make Reports/DQL's etc proper DataEase Style against your DataEase 8 data.
You can also dynamically include the reports/prints in your DataEase 8 through the WebField interface.
Sound to good to be true? He,he....wait and see!