| |
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:
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
|