| Forum List • Thread List • Reply • Refresh • New Topic • Search • Previous • Next 1 | 1. Problem with new install of RegLite & RPC #12913 | New computer with fresh install of XP Pro+SP3. I've just downloaded and installed Reglite and the RPC. When I try to run one of my old scripts with Reglite it gives an error "S has no value" in the line that reads "if year = '' then year = substr(date(s),1,4)". When I attempt to run the RPC I get "dockwnd.dll" doesn't exist. I've tried re-installing but get the same error. Please help.lemelman | 2. #12914 Posted by: PeterJ 2009-05-16 20:01:01 Last edited by: PeterJ 2009-05-16 20:14:46 (Total edited 2 times) | Did you also download and install RexxGui?
Date(S) should become Date("S"), because it is regarded as variable S, as it says in the error message. There was a change a while ago, to treat "unquoted" strings as variables. I suppose your script was developed before this change was introduced.
Peter | 3. #12916 | Thanks Peter, loading RexxGui fixed the RPC. Unquoted strings were always variables, and the Rex standard states that the value of an uninitialised variable is it's own name in upper case. This was a fundamental tenet of Rex; when was it changed?lemelman | 4. #12917 Posted by: PeterJ 2009-05-17 04:47:42 Last edited by: PeterJ 2009-05-17 04:48:23 (Total edited 1 time) | Unquoted strings were always variables, and the Rex standard states that the value of an uninitialised variable is it's own name in upper case. This was a fundamental tenet of Rex; when was it changed? you are right concerning REXX, but Jeff changed it least 2 years ago. As far as I remember there were either performance, or code streamlining reasons. I think there was a setting to switch it back to old behaviour. | 5. #12940 | Reginald Rexx has two flavours - Legacy and RegLite.
RegLite is (I suppose arguably) Jeff's attempt at getting rid of things that he and others didn't like, in order to make Rexx better and make it easier to add new things on.
The price - compatibility which is always the issue. The old Legacy Rexx still exists somewhere and it is "100%" compatible with the Mike Colishaw/IBM Rexx standard, with some add ons. The new RegLite has many new features, but where a choice between compatible/yuck and incompatible/good needed to be made, good won out.
So if you have old Rexx scripts around and don't want to re-write them, get the Reginald Legacy Rexx and use it to run the old scripts.
You can create (2) file extensions, .REX and .OLDREX and associate the old interpreter with the old and the new with the new. They can co-exist, but only one can be associated with a given file extension.
Your particular problem - the "rexx standard" as you said, does state that an uninitialized variable is initialized to its own name, something I guess arguably that was a bad idea, so RegLite does not do this. If you use an uninit var for input, you will abend with a msg indicating thus (which can be trapped by extra code I might add).
Jeff is/has added many OO features to Rexx, taken Rexx out of its "Green Screen/DOS Window" mode into true GUI windows programming. When REXX was defined (Colishaw et al), it was great; not perfect, but truly a great language. RegLite is REXX with much new, but a few removed items that necessitate code updates. As I said, run both if you like. Install them to separate folders and associate different file extensions with launching different interpreters.
The RPC is version depenedent (warning). The new RPC requires one add on lib - REXXGUI (i.e. it itself uses the GUI addons that Jeff created) since RPC is written presumably in ? | Forum List • Thread List • Reply • Refresh • New Topic • Search • Previous • Next 1 |
|
|