home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ibmodf.zip / OPEND_HH.ZIP / NOTES < prev    next >
Text File  |  1995-05-05  |  4KB  |  81 lines

  1. +++++++++++ problems in DEVCON7 with just emitting .HH from .IDL +++++++++++++
  2. 1) must hand-modify OS2.H to make an OS2.HH which includes OD.HH
  3. 2) must hand-modify OD.H to change all .XH includes to newly-emitted .HH includes.
  4.    We must also add a "#define INCL_ODxORDCOLL" and the "#include <ordcoll.h>".
  5.    We typically rename this modified file to OD.HH, so SOM code can use the old one.
  6. FLASH!!!! David Kochbeck points out that OrderedCollection is back, use that instead
  7.  
  8. 3) Emitter bug (fix in the pipe): must fix facet.hh and wpfsys.hh, and change
  9.    a emitted pragma line to replace (e.g.,) 
  10.          
  11.            #pragma SOMMetaClass (ODFacet, "M_ODFacet")    //SOM name (wrong)
  12. with
  13.            #pragma SOMMetaClass (ODFacet, M_ODFacet)      //C++ name (right)
  14.  
  15. 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?
  16.     // Next three lines added manually - mcs & aj, cause emitter doesn't pass them thru right
  17.     typedef somToken Proxy;
  18.     typedef somToken RGBColor;
  19.     class ODxOrderedCollection;
  20.  
  21. 5) copied odtypes.h (in opendoc/include) to form odtypes.hh (in opendoc/hh). Changes: 
  22.    a) added #include <os2def.h> 
  23.    b) include odtypesm.hh (as emitted from IDL) instead of odtypesm.xh  
  24.    c) ditto for geotypes.hh
  25.    d) ditto for polygon.hh
  26.  
  27. 6) hand-fix odtypesm.hh (after normal emit from .IDL):
  28.    a) add    #include <som.hh>           //aj:this insures that primitive types like
  29.                                          // "boolean" are defined, prior to use below.
  30.  
  31. 7) further hack in ODTypesM.hh:
  32. //aj: these types also defined in ODTypesF.h. Boca should fix design, for now I hack
  33. //     typedef ODForeign ODRegion;
  34. //     typedef ODForeign ODFileSpec;
  35. //     typedef ODForeign ODFileRefNum;
  36. //     typedef ODForeign ODProcessID;
  37.           .       .     .
  38. //     typedef ODForeign ODTime;
  39.           .       .     .
  40. //     typedef ODForeign ODObjectSpec;
  41. //     typedef ODForeign ODOSLToken;
  42.  
  43. 8) IN ALL .IDL FILES, WHEREVER YOU USE "passthru C_xh", AS APPROPRIATE ALSO
  44.    DO A SIMILAR "passthru C_hh". THIS SHOULD HAVE BEEN DONE FROM THE BEGINNING!!!!!
  45.    ANY OTHER PLACES YOU IGNORED USERS OF .HH's?
  46.  
  47.    e.g.,       File #1==> e:\OPENDOC7\IDL\CLIPBD.IDL <==
  48. passthru C_xh = ""
  49.  
  50.  
  51.    File #2==> e:\OPENDOC7\IDL\ODOBJECT.IDL <==
  52.   passthru C_xh =
  53.           (note: without this fix, the line "#include <odtypes.hh>" is not emitted)
  54.  
  55.  
  56.    File #3==> e:\OPENDOC7\IDL\PARTINFO.IDL <==
  57.     passthru C_xh =
  58.  
  59.  
  60.    File #4==> e:\OPENDOC7\IDL\SELPRTEX.IDL <==
  61.   passthru C_xh_after =
  62.  
  63. 9) There is one .hh file (possibly others to come) that has no corresponding INCL_ODxxx
  64. define: menubact.hh.  This file contains the definition of the              
  65. ODActiveFrameMenuBar class.  I am adding a define for this file to od.hh in 
  66. OPENDOC on the LAN (INCL_ODACTIVEFRAMEMENUBAR - this name is not the longest
  67. out there!).  By the way, this is NOT an emitter problem.  The SOM version  
  68. (od.h) has no define for this file, nor does any of the other .xh files     
  69. include menubact.xh directly.  I have not checked DK2 yet...                
  70.  
  71. 10) Added a const to the selprtex.hh file on the LAN.  This const was 
  72. identified with an .xh passthru in the .idl. May be others as well...
  73.  
  74.  
  75. 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)
  76.  
  77. Final fix to get sample to compile OK (tested it, it runs) was to
  78. #include <os2.hh> in both myformp.cpp and myformv.cpp. QQQQ: should we do this in
  79. myform*.hpp, if everyone must do it??????
  80.  
  81.