home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ibmodf.zip
/
OPEND_HH.ZIP
/
NOTES
< prev
next >
Wrap
Text File
|
1995-05-05
|
4KB
|
81 lines
+++++++++++ problems in DEVCON7 with just emitting .HH from .IDL +++++++++++++
1) must hand-modify OS2.H to make an OS2.HH which includes OD.HH
2) must hand-modify OD.H to change all .XH includes to newly-emitted .HH includes.
We must also add a "#define INCL_ODxORDCOLL" and the "#include <ordcoll.h>".
We typically rename this modified file to OD.HH, so SOM code can use the old one.
FLASH!!!! David Kochbeck points out that OrderedCollection is back, use that instead
3) Emitter bug (fix in the pipe): must fix facet.hh and wpfsys.hh, and change
a emitted pragma line to replace (e.g.,)
#pragma SOMMetaClass (ODFacet, "M_ODFacet") //SOM name (wrong)
with
#pragma SOMMetaClass (ODFacet, M_ODFacet) //C++ name (right)
4) Had to still add this manually to simplprt.hh (all are in .IDL). Q:is there an emitter option which fixes this? should it be defaulted?
// Next three lines added manually - mcs & aj, cause emitter doesn't pass them thru right
typedef somToken Proxy;
typedef somToken RGBColor;
class ODxOrderedCollection;
5) copied odtypes.h (in opendoc/include) to form odtypes.hh (in opendoc/hh). Changes:
a) added #include <os2def.h>
b) include odtypesm.hh (as emitted from IDL) instead of odtypesm.xh
c) ditto for geotypes.hh
d) ditto for polygon.hh
6) hand-fix odtypesm.hh (after normal emit from .IDL):
a) add #include <som.hh> //aj:this insures that primitive types like
// "boolean" are defined, prior to use below.
7) further hack in ODTypesM.hh:
//aj: these types also defined in ODTypesF.h. Boca should fix design, for now I hack
// typedef ODForeign ODRegion;
// typedef ODForeign ODFileSpec;
// typedef ODForeign ODFileRefNum;
// typedef ODForeign ODProcessID;
. . .
// typedef ODForeign ODTime;
. . .
// typedef ODForeign ODObjectSpec;
// typedef ODForeign ODOSLToken;
8) IN ALL .IDL FILES, WHEREVER YOU USE "passthru C_xh", AS APPROPRIATE ALSO
DO A SIMILAR "passthru C_hh". THIS SHOULD HAVE BEEN DONE FROM THE BEGINNING!!!!!
ANY OTHER PLACES YOU IGNORED USERS OF .HH's?
e.g., File #1==> e:\OPENDOC7\IDL\CLIPBD.IDL <==
passthru C_xh = ""
File #2==> e:\OPENDOC7\IDL\ODOBJECT.IDL <==
passthru C_xh =
(note: without this fix, the line "#include <odtypes.hh>" is not emitted)
File #3==> e:\OPENDOC7\IDL\PARTINFO.IDL <==
passthru C_xh =
File #4==> e:\OPENDOC7\IDL\SELPRTEX.IDL <==
passthru C_xh_after =
9) There is one .hh file (possibly others to come) that has no corresponding INCL_ODxxx
define: menubact.hh. This file contains the definition of the
ODActiveFrameMenuBar class. I am adding a define for this file to od.hh in
OPENDOC on the LAN (INCL_ODACTIVEFRAMEMENUBAR - this name is not the longest
out there!). By the way, this is NOT an emitter problem. The SOM version
(od.h) has no define for this file, nor does any of the other .xh files
include menubact.xh directly. I have not checked DK2 yet...
10) Added a const to the selprtex.hh file on the LAN. This const was
identified with an .xh passthru in the .idl. May be others as well...
N) we still have to do ODRepair-type stuff ????more info???? (see included files for details) A: NO WE DON'T NEED THEM (at least so far)
Final fix to get sample to compile OK (tested it, it runs) was to
#include <os2.hh> in both myformp.cpp and myformv.cpp. QQQQ: should we do this in
myform*.hpp, if everyone must do it??????