Re: Shrouding

new topic     » goto parent     » topic index » view thread      » older message » newer message

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 blink

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 blink. I can help
out if you need me to, just ask.

Pete
http://palacebuilders.pwp.blueyonder.co.uk/euphoria.html

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu