home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / windows / c / mobjm260 / readme.txt < prev    next >
Encoding:
Text File  |  1994-09-06  |  14.5 KB  |  389 lines

  1. Microworks ObjectMate 2.6
  2. Windows Interface Development Kit.
  3. Copyright ⌐ 1992-1994 Microworks
  4. Sydney, Australia.
  5. CompuServe 100026,1134
  6. Release date: 6-9-94.
  7.  
  8.                    Welcome to ObjectMate 2.6
  9.                    --------------------------
  10.  
  11. This README file contains important information about 
  12. Microworks ObjectMate 2.6. You should read this entire file.
  13.  
  14. -----------------
  15. TABLE OF CONTENTS
  16. -----------------
  17.  
  18. 1.  About ObjectMate.
  19. 2.  What's Changed!
  20. 3.  Installation.
  21. 4.  Changes to your source code.
  22. 5.  Using ObjectMate with Borland C++ 4.02.
  23. 6.  Documentation.
  24. 7.  Sample Applications.
  25. 8.  ObjectMate is Shareware.
  26. 9.  Acknowledgments.
  27.  
  28.  
  29.  
  30. --------------------
  31. 1. ABOUT OBJECTMATE.
  32. --------------------
  33.  
  34. If your unfamiliar with ObjectMate, ObjectMate is a complete 
  35. interface development Kit for the Windows programmer that's 
  36. compatible with ObjectWindows and Resource Workshop. 
  37.  
  38. The ObjectMate Interface Library, SFX200.DLL, is ObjectMate's 
  39. custom control library. It's noticeably different from any 
  40. other custom control library because it's not a BWCC.DLL or 
  41. Ctl3D.DLL clone. Instead, it uses its own unique 3-dimensional 
  42. style to implement an impressive range of objects including 
  43. bitmap buttons, icon buttons, text buttons, static controls, 
  44. shade controls, check boxes, radio buttons, edit controls, list 
  45. boxes, lists edit boxes, combo boxes, percent gauges, toolbars, 
  46. status bars, dialog boxes, common dialog boxes, windows, edit 
  47. and file windows, MDI windows, frame windows, message boxes, 
  48. input boxes and 3D menus.
  49.  
  50. One of ObjectMate's best features is its functional enhancement 
  51. over existing custom control libraries. For example, three new 
  52. bitmap buttons GO, STOP and BROWSE have been added to the eight 
  53. standard Borland-style bitmap buttons and the buttons have been 
  54. enlarged so there is no glyph cram. Static controls can display 
  55. normal text, 3-dimensional text or splash bitmaps. Shade 
  56. controls can be used as group boxes, vertical and horizontal 
  57. dividers or colored panels. Check boxes and radio buttons can 
  58. either be raised or recessed and come in a choice of check 
  59. color. The toolbar object can display popup toolbars, child 
  60. toolbars, button panels and status bars. There are 4 custom 
  61. dialog and window styles with 21 possible variations. The 
  62. message box function includes 4 new button combinations: MB_GO, 
  63. MB_GOSTOP, MB_OKCANCELHELP and MB_YESNOHELP; and there are 
  64. seven message box styles. The input box function works just 
  65. like the message box function but instead displays a dialog box 
  66. that prompts the user for a single line of input text. 
  67.  
  68. The SFX Class Library encapsulates all the objects in SFX200.DLL 
  69. into a hierarchy of ready to use ObjectWindows classes and 
  70. comes in two versions: an ObjectWindows 2.0 version for Borland 
  71. C++ 4.0 and an ObjectWindows 1.0 version for Borland Pascal 
  72. 7.0. 
  73.  
  74.  
  75.  
  76. ------------------
  77. 2. WHAT'S CHANGED!
  78. ------------------
  79.  
  80. In the design department, just about everything. SFX200.DLL has 
  81. been completely rewritten. Overall, the interface is more 
  82. impressive and more functional. The paint methods are flicker 
  83. free so the window frames and custom controls are drawn 
  84. smoothly, and Chicago-style window captions have been added as 
  85. an option. The common dialog box templates have been redesigned 
  86. and include several useful 'file' features and some extra 
  87. buttons. The standard buttons are activated by simply 
  88. specifying the appropriate flag, so there are no hooks to worry 
  89. about. There are five new common dialog box functions that can 
  90. be used instead of the Windows' common dialog box structures or 
  91. OWL 2.0's common dialog box objects. Several new features have 
  92. been added to the library including resizeable Borland style 
  93. buttons, a status bar that supports flyover and tabbed text and 
  94. 3-dimensional menus.
  95.  
  96. One of the biggest changes is in the way SFX200.DLL draws the 
  97. non-client area of its dialogs and windows. To paint the window 
  98. frames flicker-free and add the new MWS_SFXCAPTION style it was 
  99. necessary for SFX200.DLL to draw the non-client area itself. 
  100. This has made ObjectMate 2.6 incompatible with existing version 
  101. 2.1 programs (see Changes to your source code).
  102.  
  103. ObjectMate no longer provides an ObjectWindows SFX class 
  104. library for Borland C++ 3.1. If you use version 3.1 you will 
  105. have to update your existing ObjectMate 2.1 header and source 
  106. code files yourself. You can use the C++ 4.0 files a guide.
  107.  
  108.  
  109.  
  110. -----------------
  111. 3.  INSTALLATION.
  112. -----------------
  113.  
  114. The source code for this installation program is provided as a 
  115. sample application. If you want to take the time to look at it 
  116. carefully, copy the program files to a floppy disk and install 
  117. ObjectMate from there.
  118.  
  119. DO NOT INSTALL OBJECTMATE 2.6 OVER THE TOP OF OBJECTMATE 2.1 OR 
  120. OBJECTMATE 2.5 BETA. Although Install will overwrite your 
  121. existing ObjectMate files, several obsolete directories and 
  122. files will be left behind on your hard disk. 
  123.  
  124. Before running install delete your current ObjectMate SFX 
  125. directories and files, you wont need them. Then, to install 
  126. ObjectMate 2.6 run the program INSTALL.EXE. Full installation 
  127. requires about 1.7 MB of hard disk space. 
  128.  
  129. After initialisation, Install presents you with 
  130. several options. You should do the following:
  131.  
  132.      1. Enter your compiler's base directory. If the base 
  133.         directory doesn't exist Install will create it.
  134.  
  135.      2. Select the language files you wish to install, either 
  136.         Borland C++ 4.0, Borland Pascal or both.
  137.     
  138.      3. Check the 'Add to Resource Workshop' check box to automatically 
  139.         have Resource Workshop load SFX200.DLL.
  140.  
  141.      4. Check the 'Create ObjectMate Group' check box to have install 
  142.         create a Program Manager group for the documentation.
  143.  
  144. Install should be run from the same directory as the compressed 
  145. program files. The ObjectMate Interface Library SFX200.DLL and 
  146. its Windows help file SFX200.HLP will be copied into your 
  147. Windows system subdirectory. You should leave SFX200.DLL in 
  148. this subdirectory. You can move SFX200.HLP but make sure its in 
  149. a directory in your path statement. Otherwise Resource Workshop 
  150. wont be able to display the on-line help. The language files 
  151. you select will be copied into new subdirectories in your base 
  152. directory. 
  153.  
  154. If you install the C++ 4.0 files you will find:
  155.  
  156.  - the documentation in your base\doc\sfx subdirectory,
  157.  - the header files in your base\include\sfx subdirectory,
  158.  - the library files in your base\lib\sfx subdirectory,
  159.  - the source code files in your base\source\sfx subdirectory,
  160.  - and the sample applications in your base\examples\sfx subdirectory.
  161.  
  162. If you install the Pascal files you will find:
  163.  
  164.  - the SFX object unit's SFX200.PAS, SFXWNDS.PAS, ODMENU.PAS and 
  165.    ODLIST.PAS 
  166. in your base\sfx\units subdirectory,
  167.  - the sample applications in your base\sfx\examples subdirectory,
  168.  - and the SFX200.H header file and the documentation in your base\sfx 
  169.    subdirectory. 
  170.  
  171. If you work with RC files in Resource Workshop you will need to 
  172. add SFX200.H to your RC project file using the 'File\Add to 
  173. project..' menu item. Pascal programmers will need to add the 
  174. new base\sfx\units subdirectory to the UNIT directories entry 
  175. field in options/directories dialog box in BP 7.0.
  176.  
  177. At the end of the installation you can either read this file or 
  178. exit Install. If SFX200.DLL was loaded into memory before the 
  179. installation you will have to restart Windows. Otherwise you 
  180. can exit Install and continue with your current Windows 
  181. session.  
  182.  
  183.  
  184.  
  185. --------------------------------
  186. 4.  CHANGES TO YOUR SOURCE CODE.
  187. --------------------------------
  188.  
  189. A few minor changes were necessary but overall little or no 
  190. change to your source code should be required. In most cases 
  191. just recompiling your source code with the new library files is 
  192. all that's necessary. 
  193.  
  194.  
  195. SFXDefFrameProc:
  196.  
  197.  - SFXDefFrameProc has an extra parameter, the client window 
  198.    handle.
  199.  
  200.  
  201. TSFXButton:
  202.  
  203.  - A new function has been added:
  204.  
  205.     1. SetIcon      - Sets the icon to displayed on an icon button.
  206.  
  207. TSFXToolbar:
  208.  
  209.  - Five new functions have been added:
  210.  
  211.     1. GetText      - retrieves the status bar text.
  212.  
  213.     2. SetFont      - sets the status bar font.
  214.  
  215.     3. SetText      - sets the status bar text.
  216.  
  217.     4. SetTool      - changes a button's ID and bitmaps.
  218.  
  219.     5. StatusWindow - returns a handle to the static text 
  220.                       window.
  221.  
  222. C++ 4.0 CHANGES:
  223.  
  224.  - Some errors were made in the initial implementation of the 
  225.    OWL 2.0 SFX class library that came ObjectMate 2.0/2.1. 
  226.    ObjectMate 2.6 fixes these problems.
  227.  
  228.  - TSFXApplication was an unsuccessful attempt at integrating the 
  229.    SFX class library into OWL 2.0 and has been removed. You should 
  230.    now derive your application from TApplication as usual and make 
  231.    atleast one call to an SFX200.DLL function, such as 
  232.    GetSFXVersion(); in OwlMain. The files SAPP.H and SAPP.CPP have 
  233.    been deleted.
  234.  
  235.  - The OWL 2.0 window classes have been rewritten and now 
  236.    contain minimal code.
  237.  
  238.  
  239. PASCAL CHANGES:
  240.  
  241.  - The TSFX3DMDIClient class has been deleted. TSFXMDIClient 
  242.    has a new constructor that specifies whether to use the
  243.    global SFXMDICLIENT or SFX3DMDICLIENT class client window. 
  244.  
  245.  - The SFX200 unit has been split into SFX200.PAS and 
  246.    SFXWNDS.PAS. The SFXWnds unit contains TSFXEditWindow and
  247.    TSFXFileWindow. Previously, all the edit/file window dialogs
  248.    and menus where added to every application that used SFX200.
  249.    Having a separate edit/file window unit fixes this 
  250.    problem. 
  251.  
  252. -----------------------------------------
  253. 5. USING OBJECTMATE WITH BORLAND C++ 4.02.
  254. -----------------------------------------
  255.  
  256. Borland's recent service update BC++ 4.02 has a bug in its IDE 
  257. that incorrectly unloads a user defined DLL from memory. When a 
  258. program using a DLL is compiled and run from within its IDE and 
  259. terminated, the DLL's WEP function is not called. This is 
  260. disastrous for SFX200.DLL because its WEP function deletes all 
  261. the bitmaps, brushes, fonts and pens that it uses. When the IDE 
  262. unloads SFX200.DLL from memory the system resources used by the 
  263. GDI objects are not returned to the system. Eventually, after 
  264. repeated launchings, the system resources drop to zero and your 
  265. forced to reboot Windows.     
  266.  
  267. This is not a bug in SFX200.DLL because it doesn't happen when 
  268. a program is compiled and linked in the IDE but run from 
  269. outside, and it doesn't happen in the BC++ 4.0 IDE. The  
  270. problem has been reported to Borland and they're working on it.
  271.  
  272. Until a patch is released you will have to use a work around. 
  273. Since a DLL is only loaded into memory once, its WEP function 
  274. is only called when it's unloaded. If SFX200.DLL is loaded into 
  275. memory before compiling and running a program the system 
  276. resource leakage doesn't occur. 
  277.  
  278. You should make sure that SFX200.DLL is loaded into memory 
  279. before compiling and running programs from your BC++ 4.02 IDE. 
  280. Two small programs, LOADSFX.EXE and ULOADSFX.EXE will do this 
  281. for you and can be found in your base\lib\sfx subdirectory. 
  282. LoadSFX loads SFX200.DLL into memory and ULoadSFX unloads it. 
  283. You can either add LoadSFX to you WIN.INI load/run line or your 
  284. Program Manager startup group, or you can add it to your IDE's 
  285. tools menu so you can load and unload SFX200.DLL as required.
  286.  
  287.  
  288.  
  289. -----------------
  290. 6. DOCUMENTATION.
  291. -----------------
  292.  
  293. ObjectMate 2.6 is documented in two files: SFX200.HLP and 
  294. SFX200.TXT. SFX200.HLP is the on-line Windows help file and 
  295. SFX200.TXT is a printable reference guide. These files are not 
  296. the same.
  297.  
  298. SFX200.HLP provides you with general information about 
  299. ObjectMate 2.6 including its Resource Workshop interface, the 
  300. ObjectWindows SFX class library and SFX200.DLL. SFX200.TXT 
  301. discusses each SFX object in detail including its corresponding 
  302. ObjectWindows TSFX class and any helpful hints.
  303.  
  304.  
  305.  
  306. -----------------------
  307. 7. SAMPLE APPLICATIONS.
  308. -----------------------
  309.  
  310. ObjectMate 2.6 includes 8 new sample applications that show you 
  311. how to use most of the custom controls, dialogs and windows in 
  312. SFX200.DLL. The most notable are the object viewer and the 
  313. installation program.
  314.  
  315. The object viewer displays all the custom controls, dialogs, 
  316. common dialogs, message boxes and input boxes in SFX200.DLL. To 
  317. use the object viewer you will need to compile its source code 
  318. in your examples' SFXVIEW subdirectory.
  319.  
  320. The ObjectMate installation program is provided as a sample 
  321. application. Its source code can be found in your examples' 
  322. INSTALL subdirectory. It's the actual source code so if you 
  323. compile and run it without modification it will try to install 
  324. ObjectMate 2.6. To test the source code I suggest you install 
  325. the ObjectMate program files into dummy base directories.
  326.  
  327. The other sample applications show you how to set up an SFX 
  328. toolbar/status bar with flyover hints in a MDI window and a non 
  329. MDI window, how to set up a notebook style SFX multiple dialog, 
  330. how to add 3D menus to your application and how to set up basic 
  331. SFX dialogs, windows  and MDI windows. Only registered users 
  332. are free to use, modify, reproduce and distribute the sample 
  333. applications or any modified version in any way they find 
  334. useful.
  335.  
  336.  
  337.  
  338. ---------------------------
  339. 8. OBJECTMATE IS SHAREWARE.
  340. ---------------------------
  341.  
  342. ObjectMate 2.6 is distributed as uncrippled nag-screen free 
  343. shareware. You can use ObjectMate for an evaluation period of 30 
  344. days free of charge. During this period you can use any of the 
  345. ObjectMate files in your application development but you are 
  346. not permitted distribute any applications with the dynamic link 
  347. library SFX200.DLL.
  348.  
  349. Registering ObjectMate 2.6 entitles you to develop and distribute 
  350. any number of applications with SFX200.DLL. When you register 
  351. this program you are supporting the shareware principle and 
  352. fellow programmers, and your encouraging ObjectMate's continued 
  353. development.
  354.  
  355.  
  356.  
  357. -------------------
  358. 9. ACKNOWLEDGMENTS.
  359. -------------------
  360.  
  361. It would not have been possible to develop, refine and extend 
  362. ObjectMate 2.6 without the help of two relentless programmers 
  363. in search of the perfect byte. They are:
  364.  
  365.    1. William Miller
  366.       Adirondack software & Graphics
  367.       524 Rock Avenue Chestertown, NY.
  368.       CIS [70530,2166]
  369.  
  370.    2. Bill Ebina
  371.       Custom Software Solutions
  372.       43422 West Oaks Dr., #205
  373.       CIS [72440,1141]
  374.  
  375. Thanks guys!
  376.  
  377.  
  378.  
  379. I hope your pleased with ObjectMate 2.6 and enjoy using it.
  380. All the best, 
  381.  
  382. Jeff Franks.
  383. Microworks.
  384.  
  385. ====================== End of README.TXT ======================
  386.  
  387.  
  388.  
  389.