Subj : PL/I v 2.1 FixPak 6
To   : Vitus Jensen
From : Murray Lesser
Date : Wed Jul 26 2000 10:20 am

(Excerpts from a message dated 07-25-00, Vitus Jensen to Murray Lesser)

Hi Vitus--

VJ>24.07.2000, Murray Lesser wrote a message to David Noon:

ML>     I spent entirely too much time yesterday (Sunday) downloading and
ML> installing FP6 for the PL/I for OS/2 compiler v 2.1.  I lost
ML> connection a little over halfway through the 2.5-hour download.  When
ML> I restarted, FTP Browser didn't "resume!"  Probably my fault :-(.
ML> After I installed the FP, I found (in the file READFP6.HTM), the
ML> following statement:

ML>       "On OS/2, all 16-bit support has been dropped."

ML>     I read this as meaning that there is no longer access to the
ML> 16-bit OS/2 API calls :-(. My needs are for KBD and VIO calls, since
ML> there are things that I wish to do in interactive text-mode
ML> applications that cannot be done in "native" PL/I.
 >...
ML>     Two questions:  What could have led the PL/I perpetrators to do
ML> such a dirty deed?  More important, can you think of any other
ML> workaround than the one I used (restored the previously installed
ML> version)?

VJ>I don't know.  But remember that 1) IBM always discouraged
 >developers to use 16-bit APIs...

   IIRC, the perpetrators of OS/2 2.0 assumed that nobody would be
writing text-mode programs any more, so they left the KBD, VIO, and MOU
API calls alone (16-bit leftovers from OS/2 1.x) and didn't provide much
guidance in the early OS/2 2.x documentation as to how to use them.
However, until very recently, all IBM 32-bit OS/2 compilers have handled
the necessary thunking (in both directions) almost automatically (PL/I
was especially good at this, because you have the choice between passing
variables by value or by address).

VJ>  ...and 2) they dropped 16-bit support in the C++ part of VAC++ 4.0.

   While I don't understand this aberration, I might be able to
rationalize dropping the text-mode support for C++ in a "visual"
compiler.  My little experience at the game has indicated that one
cannot write a text-mode program while using one of the visual program
builders, irrespective of the language one is trying to build it in, so
one wouldn't have a reason to use these text-mode API calls while using
the "visual" VAC++ developer interface.  However, I am under the
impression that the "command line" version of VAC++ 4.0 still allows
calling the 16-bit API routines.  (I have no experience to verify this,
as I have never written a program in C++, nor have I ever owned any
version of VAC++.)  But the only rationale I can really offer for IBM
dropping 16-bit support from its 32-bit OS/2 compilers is that such
support is platform dependent, and IBM is getting out of the
platform-dependent market.

   All of my PL/I programming is for text-mode utilities, and is done
from the command line.  I did try (once) to convert one of my
multi-threaded text-mode PL/I utilities, that included a call to
KbdCharin(), to a GUI program by using the "add-on" PL/I toolkit (visual
program builder) for the purpose.  After what I considered to be a
reasonable attempt, I  gave it up as being entirely too much trouble. In
the newer "VA PL/I" compilers, the "program builder" GUI interface
version of the compiler is still an add-on that I never bothered to
install with my current "VA" PL/I for OS/2 compiler version 2.1.

VJ>JdBP coded a DLL to supply 32-bit counterparts of Vio, Kbd and Mou
 >(with or w/o unicode support).  AFAIR he annouced the package in
 >OS2PROG.  Look for this:

   See my post to Andy Roberts for my excuse that adopting JdeBP's
solution would be not worth the effort it would require :-).

ML>     Secondary purpose of this post:  There has been no traffic for
ML> about two weeks in either this echo nor in OS2REXX...

VJ>Your post was the first in OS2PROG since 4 July.

   It has already provoked two responses :-).  Today, I am throwing in
my responses to those responses: two more.  If this keeps up, we may end
up with a thriving echo again!  Now, how do we get the OS2REXX echo
going?

   Regards,

       --Murray
<Team PL/I>
___
* MR/2 2.30 #120 * Never send a PM program to do a text-mode job

--- Maximus/2 3.01
* Origin: COMM Port OS/2 juge.com 204.89.247.1 (281) 980-9671 (1:106/2000)