Re: Shrouding
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> Nov 10, 2003
- 603 views
On Sun, 9 Nov 2003 19:48:56 -0800, Daniel Kluss <codepilot at netzero.net> wrote: >Ive had been reg euphoria since like december of 2000, but I've never shrouded >anything before. >How do you shoud source and have it still useable by include? > I've been doing quite a bit of that this year If it is a fairly simple source without any include statements, then it is very easy. Just include the output file as normal. If there are some include statements, then only the global routines and constants defined in the main file remain global after shrouding, so you may have to write a small wrapper at the toplevel, eg, I have: global procedure setCommissionCode(sequence Code) SetCommissionCode(Code) -- see register.ew end procedure because SetCommissionCode (with a capital S) from the included file is otherwise not callable after shrouding. Conversely, global variables remain global no matter where they are defined, so if you want to hide them, you have to make them local to a sub-include file and in that file write global set and get functions (which automatically cease to be global after shrouding), eg I have: atom A4Mapping global procedure SetA4Mapping(atom a4m) A4Mapping=a4m end procedure global function GetA4Mapping() return A4Mapping end function where normally I might just have global atom A4Mapping. You only need to do this if it is important that A4Mapping is not visible externally once the source has been shrouded. If your shrouded source uses win32lib or similar, then it can get very messy. I've managed it, but with hindsight I could have made my life much easier by finding some way, any way, not to do it . I can help out if you need me to, just ask. Pete http://palacebuilders.pwp.blueyonder.co.uk/euphoria.html