OPOS Common Control Objects 1.8.001 Updated October 26, 2004 Contents of this file: * Features * Update history * Legal * Contact information NOTE: The installation package does not install any system DLLs. It only puts files into the directories that you specify. You must ensure that DLLs have been installed to support Microsoft Visual C++ 6.0 ATL ActiveX controls. The following are believed to properly support them: - NT 4.0 with Service Pack 3 or later. - Windows 2000. - Windows XP. - Windows Server 2003. - Windows 95 with DCOM98. - Windows 98. - Windows ME. Some earlier versions may not have recent enough OLE support DLLs. (The complete list of DLLs used is ADVAPI32.DLL, GDI32.DLL, KERNEL32.DLL, NTDLL.DLL, OLE32.DLL, OLEAUT32.DLL, RPCRT4.DLL, USER32.DLL.) ==================================================================== Features ==================================================================== * All 24 control objects of OPOS Release 1.8 are supported. Also includes an object that declares all of the OPOS constants. To use these constants... - Visual Basic: Select the menu item Project / References, and check "OPOS 1.8 Constants". - Visual C++: Add the line #import "path\Opos_Constants.dll" no_namespace to a source file, replacing path with the installed location of the file (or putting this location in the Include section under the Directories tab of the Tools / Options menu). * ATL-based, using dual interfaces so that the app can access them via IDispatch or COM interfaces (of the form IOPOSCashDrawer, etc). * Built using Microsoft Visual C++ 6.0, Service Pack 5. * Backward compatible with all releases of service objects. This means that they check for older SOs, and return the proper errors to the app if it accesses unsupported properties or methods. * Event firing logic supports well-behaved service objects that fire events from the thread that created the control, plus other service objects that fire them from other threads. * Self-contained, requiring only standard OS DLLs. Specifically, they do not require MFC or ATL DLLs. * Both MBCS and Unicode versions have been built and given limited testing. At this time, only the MBCS versions are being posted. * Source code for all control objects is available. * For future additions, it is easy to add new control objects or update old ones. A custom generator was developed that reads a data file for each control to be built. To add properties or methods, the procedure is update the data files, regenerate, and build the resulting projects. ==================================================================== Update History ==================================================================== 1.8.001 - October 26, 2004 * Correct memory leak when getting string property. * Update several header files with constants that were missed in previous releases. * Add new device statistics header file, OposStat.h. * Minor enhancement to Debug tracing of strings. 1.8.000 - March 22, 2004 * Add OPOS Release 1.8 API support. * Add significantly more tracing when Debug. 1.7.002 - December 2, 2003 * Rebuild after applying updates to some ATL files per Microsoft Knowledge Base Articles: ATLBASE.H (190686, 305746), ATLCOM.H (266713), ATLCONV.H (266713). * Changed the legal license language. 1.7.001 - May 29, 2003 * On Debug builds, add tracing of Open and CLose to C:\OposCCO_@DeviceName@.log * Update OposPtr.h with constants added in OPOS Release 1.7. 1.7.000 - August 17, 2002 * Add OPOS Release 1.7 API support. 1.6.001 - March 7, 2002 * Mark CCOs as safe for initialization and scripting. * Correct FiscalPrinter method name from PrintRecItemVoidFuel to PrintRecItemFuelVoid. 1.6.000 - July 19, 2001 * Add OPOS Release 1.6 API support. 1.5.103 - July 9, 2001 * Updated EventClose() to only discard user messages. Was causing some CE apps to hang due to bogus WinCE messages. 1.5.102 - June 23, 2001 * Enhance (correct) to properly support multiple SOs per device type. * Includes PINPad built with updated OposPpad.hi (which corrected Track4Data property index). 1.5.101 - January 2, 2001 * OPOS Release 1.5 API support. * Added OPOS Constants DLL (Opos_Constants.dll). 1.5.100 Alpha - September 18, 2000 * Initial pre-Beta version with OPOS Release 1.5 API support. 1.5.3 Beta - December 7, 1999 1.5.2 Beta - August 23, 1999 1.5.1 Beta - July 28, 1999 1.5.0 Beta - June 18, 1999 1.4.994 Beta - March 25, 1999 1.4.993 Beta - March 22, 1999 1.4.992 Beta - March 20, 1999 1.4.991 Limited Beta - February 7, 1999 ==================================================================== Legal ==================================================================== The following lines appear in many of the source code files from which the binary Control Objects are built, in the version resource's "License" item, and in the binary Control Object files (following the marker "~~License~~"): Copyright (c) 1999-2004; RCS, Inc.; An NCR Company; Dayton, Ohio, USA. Developed by Curtiss Monroe. This software is provided "AS IS", without warranty of any kind, express or implied. In no event shall NCR (including its subsidiaries, employees, and contributors) be held liable for any direct, indirect, incidental, special, or consequential damages arising out of the use of or inability to use this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. Redistributions of source code, whether original or altered, must retain this license. 2. Altered versions of this software -- including, but not limited to, ports to new operating systems or environments, bug fix versions, and rebuilt versions -- must be plainly marked as such and must not be misrepresented as being the original source or binary. Such altered versions also must not be misrepresented as RCS or NCR software releases -- including, but not limited to, labeling of the altered versions with the names "OPOS Common Control Objects" or "OPOS CCOs" (or any variation thereof, including, but not limited to, different capitalizations). ==================================================================== Curtiss Monroe RCS, Inc. Work e-mail: curtiss.monroe@daytonrcs.com Personal e-mail: crmonroe@monroecs.com Check the web site http://monroecs.com/oposccos.htm for the latest Common Control Object information.