Paradox Community

Items in pnews.paradox-dos

Subject:Re: Progress plus PROBLEM
Date:Sat, 25 Aug 2018 00:42:51 +0100
From:Michael Kennedy <>

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.
   - Mike

Copyright © 2004