Compiling V6 CHUI and 10x code using the Progress COMPILE co

Posted by MBeynon on 14-Apr-2015 06:13

Hi,

I'm trying to write a compile programme that will compile all our clients code (.p, .cls) into RCODE and create one .pl file.

The idea is that as RCODE is platform indedpendant this one library can be placed on the Un*x box for the V6 CHUI code and onto a Window's terminal server for the 10x  .NET code.

The compiler runs under 10.2A on Windows but needs to be able to compile the V6 CHUI frame based code and avoid the error:

Syntax check:
**EXPRESSION lv-lst-lijn-tx will not fit in FRAME lstend00 in PROGRA....

I've checked the Progress help and it seems to say that the compile option V6FRAME along with an entry in the compiler's ini file "V6FontNumber=3" should over come this issue, but it doesn't! The compiler still throws up the FRAME errors.

I've also looked at the STREAM-IO option which does allow the compile to go ahead but the RCODE does not run and errors with "<widget id> cannot participate in CHOOSE statement...."

Here's my compile line with both compile options:

COMPILE VALUE(lcFile[2]) SAVE INTO VALUE(icOutputStubPath) STREAM-IO V6FRAME NO-ERROR.

Any help would be greatly appreciated,

Thanks,

Mark.

Posted by Frank Meulblok on 14-Apr-2015 07:46

The thing is that screen size calculations & rendering are completely different between GUI and ChUI clients, and any UI related code will actually break r-code compatibility -> expect to see "Program <program-name> was compiled under another incompatible display environment. Cannot run without recompile. (4438)" if you try to run a ChUI interface in GUI client and vice-versa.

If you've seperated UI logic & business logic properly, you could do the following:

- Build 1 businesslogic.PL for business logic

- Compile ChUI interface code with _progres ChUI client (also available on Windows), put that code in 2nd tty.PL

- Compile GUI interface code with prowin32.exe, put that code into 3rd gui.PL

Then deploy businesslogic.PL + the PL for the desired display type.

Also, since you're looking to compile on Windows, deploy on Unix, I'd really recommend moving to OE 11. In OE 10.2A & 10.2B you have a high risk of running into 32-bit vs 64-bit r-code conflicts - which no longer exist in OE 11.

All Replies

Posted by Frank Meulblok on 14-Apr-2015 07:46

The thing is that screen size calculations & rendering are completely different between GUI and ChUI clients, and any UI related code will actually break r-code compatibility -> expect to see "Program <program-name> was compiled under another incompatible display environment. Cannot run without recompile. (4438)" if you try to run a ChUI interface in GUI client and vice-versa.

If you've seperated UI logic & business logic properly, you could do the following:

- Build 1 businesslogic.PL for business logic

- Compile ChUI interface code with _progres ChUI client (also available on Windows), put that code in 2nd tty.PL

- Compile GUI interface code with prowin32.exe, put that code into 3rd gui.PL

Then deploy businesslogic.PL + the PL for the desired display type.

Also, since you're looking to compile on Windows, deploy on Unix, I'd really recommend moving to OE 11. In OE 10.2A & 10.2B you have a high risk of running into 32-bit vs 64-bit r-code conflicts - which no longer exist in OE 11.

Posted by MBeynon on 15-Apr-2015 03:57

Thanks for the help. We're due to upgrade to 11x soon so I think I will park this and re-visit at a later date.

This thread is closed