|Subject:||Re: Progress plus PROBLEM
|Date:||Sat, 25 Aug 2018 00:42:51 +0100
|From:||Michael Kennedy <Info@KennedySoftware.ie>
Just to clarify two trivial PAL queries, Bernie - that I've forgotten about:
- In PAL, if we have a string var "+" a num/int var, I presume
Paradox will reject this operation?
- In PAL, if we assign var1 and var2 as strings, do a "+" on them,
and, later on, within the same scope, try to re-define them as
nums/ints, and try to a "+" on them, I presume Paradox will object?
> 1. Add one or more new operator(s) to PAL to force correct operation
> (easy), but this would require modifying PAL source code and it wouldn't
> work in pdox any more, and the pdox forms calculated fields editor won't
> allow them.
A huge undertaking on a large app. And, if an app uses any of those WPP
libraries, etc, that we discussed previously, all of the library code
must also be reviewed - bordering on an impossible task...
> 2b. (Thinking aloud) Parsing and translating calculated fields could be
> done at the time a form file is parsed. This fits with the plan to
> store, cache and modify converted forms.
Is that form-file parsed only on a single, initial, conversion process,
or as a pre-process step for every app run?
> 4. Add directives via pal comments to tell the translator what to do.
> This does require modifying the src PAL code, but survives repeated
> translate runs, but doesn't address the forms calculated field problem.
Also a huge initial undertaking... see above...
> 5. Ideally this could all be handled by code inserted into the generated
> php (like variable scope management is done currently), but that could
> make the generated php look very different to the original PAL, and
> potentially a lot more complex, which would make it harder to work with
> and maybe more fragile.
Well, you're the best person to call on this one?
Presumably, it's not easy, or maybe impossible, to just have a simple
"zzz = Do_Plus(xxx,yyy)" function, where the three parms could be of
type "Any", and the function then identifies the parm-types, and
performs the relevant operation?
Sorry I've no good suggestions.