MCS

Home Up Legal Installation Current Version History

History
 

Tracing

This page provides a change history of the OPOS Common Control Object releases.

 

1.14.001 -- February 7, 2015

This release supports all OPOS APIs from Release 1.01 through Release 1.14.1.

The 1.14.001 CCOs can be used with applications built against previous CCO releases, beginning with the 1.6 CCOs.  No rebuild is needed.

This release contains the following changes from 1.14.000:

  • Add OPOS Release 1.14.1 API support: Additions to Electronic Value Reader Writer (EVWR). See details below.
  • Correct memory leak due to mishandling of variants returned from SO. This was most common when getting string properties. Problem is present in earlier releases of 1.12, 1.13, and 1.14.
  • Correct potential buffer overrun in Open.
  • Correct EVRW TransitionEvent dispatch ID (from 2 to 6).
  • Update license information.

Also, the CCOs, OPOS for .NET assemblies, and Windows Installer (.MSI) files are digitally signed.

Electronic Value Reader Writer for UnifiedPOS 1.14.1.

The UnifiedPOS 1.14.1 specifcation added some methods and properties to the EVWR device. This was contrary to the general architecture of UnifiedPOS, where each such addition requires a new minor release number (i.e. 1.15). This change complicated backward compatibility of the CCOs, since the OPOS Control Object verifies that a Service Object that reports its ServiceObjectVersion as 1.X.Y implements all the device methods in UnifiedPOS specification 1.X. Since we now have two different 1.14 -- the original 1.14 and the newer 1.14.1 -- this verification cannot be done simply.

To overcome this issue, the 1.14.001 CCO release took the following approch:

  • The EVWR CCO version is 1.14.100 (while all the other devices are 1.14.001), where the leap shows a substantive change from the 1.14.00x CCO.
  • An additional CCO Interface UUID has been added that includes the new methods and properties in this release.
  • An EVWR Service Object that supports UnifiedPOS 1.14.1 must set its ServiceObjectVersion to a value between 1.14.100 and 1.14.999. If ServiceObjectVersion is between 1.14.000 and 1.14.099, then the EVWR CCO 1.14.100 assumes that the Service Object supports UnifiedPOS 1.14 but not 1.14.1.

1.14.000 -- October 3, 2013

This release supports all OPOS APIs from Release 1.01 through Release 1.14.

The 1.14 CCOs can be used with applications built against previous CCO releases, beginning with the 1.6 CCOs.  No rebuild is needed.

The management of COM  UUIDs is similar to the previous OPOS releases:

  • The CoClass, Library, and Event UUIDs are unchanged.
    Should multiple installations of CCOs occur, then the last registered release will be instantiated when an application creates a CCO. It is the responsibility of the user to ensure that the registered CCOs are at least as new as the newest version required by an application.  For example, if App A was built against release 1.8.001, App B was built against 1.9.002, and App C was built against 1.12.000, then the user should install or register 1.12.000 last, since all three applications will run correctly with this version.
  • An additional Interface UUID has been added to those devices that have new methods and/or properties in this release.
 

1.13.003 -- February 7, 2015

This release supports all OPOS APIs from Release 1.01 through Release 1.13.

The 1.13 CCOs can be used with applications built against previous CCO releases, beginning with the 1.6 CCOs.  No rebuild is needed.

This release contains the following changes from 1.13.001 and the (unreleased) 1.13.002:

  • Correct memory leak due to mishandling of variants returned from SO. This was most common when getting string properties. Problem is present in earlier releases of 1.12, 1.13, and 1.14.
  • Correct potential buffer overrun in Open.
  • Update license information.
  • Update debug version's RCSTrace to latest NCR release. Will work better with Windows 7, since tracing won't try to create or open keys in HKLM with write access.

Also, the CCOs, OPOS for .NET assemblies, and Windows Installer (.MSI) files are digitally signed.


1.13.001 -- June 25, 2010

This release supports all OPOS APIs from Release 1.01 through Release 1.13.

The 1.13 CCOs can be used with applications built against previous CCO releases, beginning with the 1.6 CCOs.  No rebuild is needed.

This release contains the following changes from 1.13.000:

  • Correction for backward compatibility:  Release 1.13.000 did not register all previous releases' interfaces.  This caused marshaling problems when used across process boundaries, plus issues for some development environments.
  • Added publisher policy assemblies to the OPOS for .NET 1.13.000 assembly ZIP file.  This allows the 1.13.000 assemblies to be used with applications that reference the 1.12.000 assemblies; no rebuild is needed.
  • Added Windows Installer installation package.  The default installation directory is "OPOS" within Program Files.  Features include:
    • Control Objects (Runtime).  Always installed, to subdirectory "CommonCO".
    • OPOS for .NET Assemblies (Runtime).  Installs the interop assemblies and publisher policy assemblies into the GAC.
    • For Developers (Build Time)
      • Include Files.  Installs the OPOS C++ header files (*.h and *.hi), to subdirectory "Include".
      • OPOS for .NET Assemblies.  Installs the interop assemblies, to subdirectory "OposFor.NET".  (Add references to these from the Visual Studio user interface, although at runtime the GAC version will be used.)

1.13.000 -- December 31, 2009

This release supports all OPOS APIs from Release 1.01 through Release 1.13.

The 1.13 CCOs can be used with applications built against previous CCO releases, beginning with the 1.6 CCOs.  No rebuild is needed.

The management of COM  UUIDs is similar to the previous OPOS releases:

  • The CoClass, Library, and Event UUIDs are unchanged.
    Should multiple installations of CCOs occur, then the last registered release will be instantiated when an application creates a CCO. It is the responsibility of the user to ensure that the registered CCOs are at least as new as the newest version required by an application.  For example, if App A was built against release 1.8.001, App B was built against 1.9.002, and App C was built against 1.13.000, then the user should install or register 1.13.000 last, since all three applications will run correctly with this version.
  • An additional Interface UUID has been added to those devices that have new methods and/or properties in this release.
 

1.12.001 -- June 25, 2010

This release supports all OPOS APIs from Release 1.01 through Release 1.12.

The 1.12 CCOs can be used with applications built against previous CCO releases, beginning with the 1.6 CCOs.  No rebuild is needed.

This release contains the following change from 1.12.000:

  • Correction for backward compatibility:  Release 1.12.000 did not register all previous releases' interfaces.  This caused marshaling problems when used across process boundaries, plus issues for some development environments.

1.12.000 -- August 30, 2008

This release supports all OPOS APIs from Release 1.01 through Release 1.12.

The 1.12 CCOs can be used with applications built against previous CCO releases, beginning with the 1.6 CCOs.  No rebuild is needed.

The management of COM  UUIDs is similar to the previous OPOS releases:

  • The CoClass, Library, and Event UUIDs are unchanged.
    Should multiple installations of CCOs occur, then the last registered release will be instantiated when an application creates a CCO. It is the responsibility of the user to ensure that the registered CCOs are at least as new as the newest version required by an application.  For example, if App A was built against release 1.8.001, App B was built against 1.9.002, and App C was built against 1.12.000, then the user should install or register 1.12.000 last, since all three applications will run correctly with this version.
  • An additional Interface UUID has been added to those devices that have new methods and/or properties in this release.

In addition to new devices and APIs, several other changes are introduced in this release:

  • The CCOs are now built in Unicode mode only, for Windows 2000 and later.
    • Windows 95/98/ME are no longer supported.
    • Windows NT 4 is no longer supported.
  • The CCOs are now built using Visual Studio 2008
    • The standard ATL header files are now used, except for atlcom.h, which was modified to support the legacy "Claim" and "Release" methods via IDispatch.
    • Some preprocessor magic is used to work around issues with HardTotal's Create method and LineDisplay's CreateWindow method.
  • COM Interface IDs for versions prior to those used in OPOS 1.6 are no longer supported. Applications built against pre-1.6 CCOs that cached the old IIDs (instead of using the default IID) will either need to continue to use a previous CCO, or be rebuilt against these new ones.
  • Some significant changes were made to the code:
    • To conform to COM rules, previous release interfaces now include only their properties and methods, instead of all properties and methods. (Previously, each interface change effectively extended all previous interfaces.)
    • Variant variable handling has been reworked for safety and error detection: NULL pointers and memory failures are detected and cause an appropriate failure HRESULT to be returned, instead of assuming good pointers and successful allocation.
    • CCO initialization checks for critical failures and returns a failure HRESULT, instead of assuming success.
  • The library names have been stabilized to "OposXXX_CCO", where XXX is the device name. Previously, the release number was included, which would cause development environments that cache the name to fail when loading new CCOs.
  • The names of the current interface continue to be "IOPOSXXX", where XXX is the device name. The names of previous interfaces now have the form "IOPOSXXX _1_Y", where XXX is the device name and Y is the release number.
 

1.11.001 -- December 4, 2007

This release supports all OPOS APIs from Release 1.01 through Release 1.11.

The 1.11 CCOs can be used with applications built against previous CCO releases, beginning with the 1.5.1xx CCOs.  No rebuild is needed.

This release contains the following change from 1.11.000:

  • Correct handling of Control Object methods that are not supported by an older version of Service Object. Previously returned OPOS_SUCCESS status, instead of OPOS_E_NOSERVICE.
    Example: An application uses CCO Release 1.11 to open a Service Object at ServiceObjectVersion 1.7, then calls the RetrieveStatistics API (which was added in Release 1.8).  The CCO now correctly returns the status OPOS_E_NOSERVICE.

1.11.000 -- January 30, 2007

This release supports all OPOS APIs from Release 1.01 through Release 1.11.

The 1.11 CCOs can be used with applications built against previous CCO releases, beginning with the 1.5.1xx CCOs.  No rebuild is needed.

The management of COM  UUIDs is similar to the previous OPOS releases:

  • The CoClass, Library, and Event UUIDs are unchanged.
    Should multiple installations of CCOs occur, then the last registered release will be instantiated when an application creates a CCO. It is the responsibility of the user to ensure that the registered CCOs are at least as new as the newest version required by an application.  For example, if App A was built against release 1.6.001, App B was built against 1.7.001, and App C was built against 1.11.000, then the user should install or register 1.11.000 last, since all three applications will run correctly with this version.
  • An additional Interface UUID has been added to those devices that have new methods and/or properties in this release.
 

1.10.002 -- December 4, 2007

This release supports all OPOS APIs from Release 1.01 through Release 1.10.

The 1.10 CCOs can be used with applications built against previous CCO releases, beginning with the 1.5.1xx CCOs.  No rebuild is needed.

This release contains the following change from 1.10.001:

  • Correct handling of Control Object methods that are not supported by an older version of Service Object. Previously returned OPOS_SUCCESS status, instead of OPOS_E_NOSERVICE.
    Example: An application uses CCO Release 1.10 to open a Service Object at ServiceObjectVersion 1.7, then calls the RetrieveStatistics API (which was added in Release 1.8).  The CCO now correctly returns the status OPOS_E_NOSERVICE.
  • Update MSR's WriteTracks method to conform to the updated 1.11 parameters. (Since this is a new method in 1.10, the committee decided to correct the parameter retroactively.)

1.10.001 -- September 22, 2006

This release supports all OPOS APIs from Release 1.01 through Release 1.10.

The 1.10 CCOs can be used with applications built against previous CCO releases, beginning with the 1.5.1xx CCOs.  No rebuild is needed.

This release contains the following change from 1.10.000:

  • The Biometrics parameter definitions the APIs "Identify" and "IdentifyMatch" were updated.  This update is in advance of the expected change/correction in UnifiedPOS 1.11.  Specifically, the parameter "ReferenceBIRPopulation" changed from "BSTR" to "SAFEARRAY of BSTR", and "pCandidateRanking" changed from "BSTR*" to "SAFEARRAY of LONG".

1.10.000 -- March 15, 2006

This release supports all OPOS APIs from Release 1.01 through Release 1.10.

The 1.10 CCOs can be used with applications built against previous CCO releases, beginning with the 1.5.1xx CCOs.  No rebuild is needed.

The management of COM  UUIDs is similar to the previous OPOS releases:

  • The CoClass, Library, and Event UUIDs are unchanged.
    Should multiple installations of CCOs occur, then the last registered release will be instantiated when an application creates a CCO. It is the responsibility of the user to ensure that the registered CCOs are at least as new as the newest version required by an application.  For example, if App A was built against release 1.6.001, App B was built against 1.7.001, and App C was built against 1.10.000, then the user should install or register 1.10.000 last, since all three applications will run correctly with this version.
  • An additional Interface UUID has been added to those devices that have new methods and/or properties in this release.
 

1.9.003 -- August 20, 2008

This release supports all OPOS APIs from Release 1.01 through Release 1.9.

The 1.9 CCOs can be used with applications built against previous CCO releases, beginning with the 1.5.1xx CCOs.  No rebuild is needed.

This release contains the following changes from 1.9.002:

  • Correct debug CCOs.  The 1.9.002 CCOs inadvertantly required a tracing COM object that is not distributed.

1.9.002 -- December 4, 2007

This release supports all OPOS APIs from Release 1.01 through Release 1.9.

The 1.9 CCOs can be used with applications built against previous CCO releases, beginning with the 1.5.1xx CCOs.  No rebuild is needed.

This release contains the following changes from 1.9.000:

  • Correct handling of Control Object methods that are not supported by an older version of Service Object. Previously returned OPOS_SUCCESS status, instead of OPOS_E_NOSERVICE.
    Example: An application uses CCO Release 1.9 to open a Service Object at ServiceObjectVersion 1.7, then calls the RetrieveStatistics API (which was added in Release 1.8).  The CCO now correctly returns the status OPOS_E_NOSERVICE.
  • Add Debug tracing of event delivery.

1.9.000 -- April 29, 2005

This release supports all OPOS APIs from Release 1.01 through Release 1.9.   

The 1.9 CCOs can be used with applications built against previous CCO releases, beginning with the 1.5.1xx CCOs.  No rebuild is needed.

The management of COM  UUIDs is similar to the previous OPOS releases:

  • The CoClass, Library, and Event UUIDs are unchanged.
    Should multiple installations of CCOs occur, then the last registered release will be instantiated when an application creates a CCO. It is the responsibility of the user to ensure that the registered CCOs are at least as new as the newest version required by an application.  For example, if App A was built against release 1.6.001, App B was built against 1.7.001, and App C was built against 1.9.000, then the user should install or register 1.9.000 last, since all three applications will run correctly with this version.
  • An additional Interface UUID has been added for each device, because some common methods and properties were added in this release that apply to all devices.
 

1.8.001 -- October 26, 2004

This release supports all OPOS APIs from Release 1.01 through Release 1.8.

The 1.8 CCOs can be used with applications built against the 1.5.1xx CCOs, 1.6, or 1.7 CCOs. No rebuild is needed.

This release contains the following minor changes from 1.8.000:

  • Correct memory leak when getting string property.
  • Update several header files with constants that were missed in previous releases. The files Opos.h, OposDisp.h, OposPcrw.h, OposPtr.h, and OposRod.h were changed.
  • Add new device statistics header file, OposStat.h.
  • Minor enhancement to Debug tracing of strings.

1.8.000 -- March 22, 2004

This is the current version, and supports all OPOS APIs from Release 1.01 through Release 1.8.

The 1.8 CCOs can be used with applications built against the 1.5.1xx CCOs, 1.6, or 1.7 CCOs. No rebuild is needed.

In addition to the additions and changes dictated by the Release 1.8 UnifiedPOS specification, four additional changes are noteworthy in this release.

  • Add much more tracing when Debug.  Release 1.7.001 contained some debug tracing for Open and Close, while this release traces all methods, properties, and events.  For example output, see MCS: OPOS Common Control Objects - Tracing.
  • Previous releases were delivered install packages using Wise 7.  This release supports Wise 7 for the runtime, but also includes a ZIP file for the runtime, per requests from several users.  In addition, the debug version and sources are provided only in ZIP files.  Once extracted, a batch file can be run to register or unregister the files.
  • Several ATL files were corrected per Microsoft Knowledge Base Articles: ATLBASE.H (190686, 305746), ATLCOM.H (266713), ATLCONV.H (266713).
  • The legal license language has been changed to be clearer and less restrictive.

(The last two changes were added in 1.7.002, but that release was only used internally.)

The management of COM  UUIDs is similar to the previous OPOS releases:

  • The CoClass, Library, and Event UUIDs are unchanged.
    Should multiple installations of CCOs occur, then the last registered release will be instantiated when an application creates a CCO. It is the responsibility of the user to ensure that the registered CCOs are at least as new as the newest version required by an application.  For example, if App A was built against release 1.6.001, App B was built against 1.7.001, and App C was built against 1.8.000, then the user should install or register 1.8.000 last, since all three applications will run correctly with this version.
  • An additional Interface UUID has been added for each device, because some common methods and properties were added in this release that apply to all devices.
 

1.7.001 -- May 29, 2003

This release supports all OPOS APIs from Release 1.01 through Release 1.7.

The 1.7 CCOs can be used with applications built against the 1.5.1xx CCOs or 1.6 CCOs. No rebuild is needed.

This release contains the following minor changes from 1.7.000:

  • The OposPtr.h file was updated with additional constants added in Release 1.7.
  • Add some debug traces when the CCOs are built in debug mode.  The trace information is written to C:\OposCCO_DeviceName.log, and will help to track down problems during Open.  A new installation file contains the debug versions of the CCOs.

1.7.000 -- August 17, 2002

This release supports all OPOS APIs from Release 1.01 through Release 1.7.

The 1.7 CCOs can be used with applications built against the 1.5.1xx CCOs or 1.6 CCOs. No rebuild is needed.

The management of COM  UUIDs is the same as with the previous OPOS releases:

  • The CoClass, Library, and Event UUIDs are unchanged.
  • Line Display, Point Card Reader/Writer, POS Printer, and Remote Order Display: An additional Interface UUID has been added for each of these devices, because these devices have additional methods and properties. The interface IDs from previous releases are also still supported.
  • All other devices: The interface UUIDs for these devices are unchanged, since their supported methods and properties are unchanged.
 

1.6.001 -- March 7, 2002

This release supports all OPOS APIs from Release 1.01 through Release 1.6.

This release contains the following minor changes from 1.6.000:

  • The CCOs are now safe for initialization and scripting.  For example, this permits use by JScript within Internet Explorer, without "Not safe for scripting" pop-up messages when security is set to medium or high.
  • Bug fix to FiscalPrinter: Corrected PrintRecItemVoidFuel to PrintRecItemFuelVoid.

1.6.000 -- July 20, 2001

This release supports all OPOS APIs from Release 1.01 through Release 1.6.

A couple of technical notes on the COM  UUIDs used in this release:

  • The CoClass, Library, and Event UUIDs are unchanged.
  • Line Display and Fiscal Printer devices: An additional Interface UUID has been added for each of these devices, because these devices have additional methods and properties. The interface IDs from previous releases are also still supported.
  • All other devices: The interface UUIDs for these devices are unchanged, since their supported methods and properties are unchanged.

In layman's terms, this means that the 1.6 CCOs can be used with applications built against the 1.5.1xx CCOs. No rebuild is needed.

Please let me know if you have problems, with this release. I have tested several of them with an RCS POS Application, but I do not have access to some of the devices. Also, the new APIs for Fiscal Printer and Line Display release 1.6 have not been tested, but have been implemented based on the OPOS APG 1.6.

 

1.5.102 -- June 23, 2001

This release supports all OPOS APIs from Release 1.01 through Release 1.5.

The following changes and corrections were made from the 1.5.101 release:

  • Multiple Instance Support. Corrected a bug that precluded using two different service objects of the same device type. For example, an application could not use a deck scanner from vendor A with the Scanner CCO and Service Object A', plus a handheld scanner from vendor B with another Scanner CCO instance and Service Object B'.
  • PINPad update. Synchronize the PINPad CCO with a correction made by the OPOS Committee to the PINPad.hi file.

1.5.101 -- January 2, 2001

This release supports all OPOS APIs from Release 1.01 through Release 1.5.

New devices since Release 1.4 are:

  • Point Card Reader/Writer
  • POS Power

 Significant enhancements have been made to:

  • POSPrinter
  • Cash Changer
 

1.5.3 -- December 7, 1999

This is a "point release" of the OPOS Common Control Object series of Beta Releases.  This release supports all OPOS APIs from Release 1.01 through Release 1.4, except for the ClaimDevice and ReleaseDevice deviations.

The following changes and corrections were made from the 1.5.2 Beta:

  • Change connection point (event) from IDispatch back to custom (as with 1.5.0), since the 1.5.2 change caused problems with some containers. For example, VB couldn't create an instance after declaring a variable using WithEvents.
  • Correct SO method call logic to first check if SO's version supports method.
  • Add explicit check for empty DeviceName to Open.
  • Add Open logic so that when SO fails OpenService, check for SO GetOpenResult method.  If present, then call it and set OpenResult with its return value.
  • Correct call to SO's COFreezeEvents method to pass a boolean instead of a long.
  • Minor updates to Open's setting of OpenResult codes.
  • Add SO-specific OpenResult status values to Opos.h.
  • Remove Amount property index from OposPpad.hi.
  • Minor updates to CWString.h, CWString.cpp, OposVariant.cpp.

1.5.2 -- August 23, 1999

The following changes and corrections were made from the 1.5.0 Beta:

  • Correct event window's use of additional window memory. Sometimes caused failure to fire events.
  • Change connection point (event) to use IDispatch instead of custom interface that is derived from but adds nothing to it.
    • Why? Easier implementation of event sinks.
  • Update to compile with VC6 SP3 -- required reupdating ATL modules.
    • Why? Stay with the latest.
  • Remove any DLLs from install package.
    • Why? Peace of mind for developers. Your system will not be compromised by this install.

1.5.0 -- June 19, 1999

The following changes and corrections were made from the 1.4.994 Beta:

  • Version level change. Change from 1.4.99x to 1.5.0.  These Control Objects will remain at Beta level until the OPOS (and UnifiedPOS) committees finalize the 1.5 specification later this year.
    • Why? Many committee members felt that, since the API was changed (OpenResult, ClaimDevice, ReleaseDevice), that using the released 1.4.x version would be confusing.
    • Meanwhile... We believe them to be a solid implementation of OPOS 1.4, with the deviations listed here and discussed in this document.
  • "OpenResult" property. This new property replaces the previous "OpenText". Add new constants to the "Opos.h" and "OposAll.bas" header files.
    • Why? A text property is not as easily internationalized.
  • Multiple instance support. Correct to properly support more than one instance of a Common CO within an App.
  • Setting boolean properties. When a Common CO calls the SO's "SetPropertyNumber" to set a boolean, pass a parameter of 1 or 0.
    • Why? This will provide compatibility with MFC SOs that test against VC++ TRUE.
  • CoCreateInstance parameter. Change the context parameter from CLSCTX_SERVER back to CLSCTX_ALL.
    • Why? The change from "all" to "server" in an earlier version was not required, and caused at least one Win95 configuration to fail.
  • CURRENCY property gets. Correct the generated code for this property type.
  • Event firing. Update to first try to lookup the dispatch ID in the App's event sink.
    • Why? To fully support late binding to the Control Objects. This lookup is not done by ATL-generated code, which seems to assume early binding or use of type library information.
  • GUID reassignment and IDL updates. Changed all GUIDS and updated the IDL files to allow future additions without impacting applications.
    • Why? Change of OpenText to OpenResult, plus reordering of some other methods. In future releases, every effort will be made to keep the same GUID, even when adding methods and properties. This can be safely done because of some additions made to the CCO implementations.
  • Registry values. Change the Class ID value Version from the Control Object Version to 1.0.
    • Why? This value is required by some development environments.

1.4.994 -- March 25, 1999

The following changes and corrections were made from the 1.4.993 Beta:

  • Open. Correct 1.4.992 change on CoCreateInstance: Only need 1 creation!
    Had added create with IUnknown followed by query for IDispatch. Unfortunately, didn't remove the original create.
  • Open. On dispatch ID gets, first look for ClaimDevice and ReleaseDevice. If not satisfied, then look for Claim and/or Release. This enhancement makes writing Service Objects using ATL easier, since the developer doesn't need to do workarounds to support Release.
  • Service Object calls.  Optimize for space, using a new internal DoInvoke function. Consistently return Invoke result as the method HRESULT.
  • Registry values.  Use Major.Minor version for version dependent Prog ID.  Use Major.Minor.Build for Version.  Added "BuildInfo" key.
  • String resource.  Update/add some information. They can be viewed via Explorer's File / Properties / Version tab.
  • OposVariant.cpp.  Clear VARIANT before setting dispatch pointer.
  • CWString.  Minor tweaks for cw_strlen and cw_memcpy performance.

1.4.993 -- March 22, 1999

The following corrections were made from the 1.4.992 Beta:

  • OposVariant.cpp.  Updated to initialize VARIANTs before use. Sometimes failed the ChangeType function due to uninitialized destination, causing return of bad data.
  • BSTR handling.  Correct setting of "out" parameters in case they are not initialized.
  • Open.  If bad Service Object due to wrong major version or unsupported required methods, return failure (OPOS_E_NOSERVICE) status.

1.4.992 -- March 20, 1999

The following changes were made from the 1.4.991 Beta:

  • Booleans.  Updated to use VARIANT_BOOL for all OPOS booleans, instead of BOOL.
  • Service Object-specific methods.  Hid these so that applications won't accidentally call them.
  • Scale.  Corrected handling of UnitPrice and SalesPrice.
  • Open.  If SO's ServiceOpen returns an error result code, return this to the application.
  • Service Object instantiation.  Changed to first query for IUnknown, then query for IDispatch.
  • OposVariant.  Reworked this class to use specific methods rather than relying on conversions.  Also, no longer relies on CComVariant.
  • CWString.  Minor updates for performance improvement.

1.4.991 -- February 7, 1999

This was the initial OPOS Common Control Objects Beta release.

Last updated: 2015-02-08

 

Web Site navigation aids:  Table-of-Contents.  Search.
Send mail to webmaster@monroecs.com with questions or comments about this web site.
Copyright 2009 Monroe Consulting Services, Inc.