HexTcpQuery version history
Corrected the license check so that it retains the license information
in the case of a hexVeErrUnlicensedProcessors error.
Added the LocalAddr, LocalPort,
MaxBufferSize, and UseHalfClose
Compensated for an apparent Microsoft bug
that loses the last response character during character set conversion in
the Query method.
Changed the threading model to "Both" to make usage from .NET
more flexible. The component can now work in both single-threaded
apartments and multi-threaded apartments.
If you are upgrading to this version, you will need to re-register the
DLL by running the installation program or using RegSvr32. Windows 95
users will need to have Internet Explorer 4 or later installed for the
DCOM update it provides. You do not have to make any changes to your code.
Fixed buffer overread when checking short, invalid runtime keys. This
problem showed up only occasionally for users of languages that require
direct use of IClassFactory2 (i.e., C++, Delphi).
Changed the default for the TCP half close option: it is now off by
default. Code that uses HexTcpQuery should continue working normally if
query strings are properly terminated. More
Improved license-checking code in several ways. The most visible
consequence is that the component will pick up license file changes
without requiring an IIS restart.
Added an anti-abuse
clause to the license agreement.
Made QueryBinary imuch more forgiving in what it accepts as a
parameter. It will now take just about anything. If you pass it a byte
array, it will transmit the array data verbatim. If you give it a string
(or anything that can be coerced into a string), it will convert the
string from Unicode to ANSI before sending it.
Fixed the Query method so it can now return complete binary data from
a query. It had no trouble receiving binary data before, but the
ANSI-to-Unicode conversion was truncating the response string at the
first NULL character. This has been corrected. However, you should still
bear in mind that 1) any single CR or LF characters get converted to
CRLF pairs and 2) each byte of binary data is expanded to two bytes in
the character set conversion. Thus, if you intend to receive binary
data, the QueryBinary method is still your best bet.
Added a registry value for setting the maximum receive buffer size.
Fixed bug that allowed use of only half the intended receive buffer.
Added a registry key for turning off TCP half-close, enabling
interoperation with certain rare (broken) server implementations. More
Improved runtime key handling. Now VB programs can be compiled with
early binding during the evaluation period. (Before, VB would generate a
"Permission denied" error. The workaround was to use late
binding during evaluation.) After obtaining a license file, you will
need to recompile VB programs in the presence of the license file so VB
can embed a permanent runtime key (thereby allowing distribution without
the license file).
Fixed a problem that caused some license files to be incorrectly
rejected as corrupt. Does not affect any current licensees.
- Fixed a problem occurring on NT4 prior to Service Pack 5 in which a query would wait for
a connection for a system-specific time (typically 45 seconds) instead of the time
specified by Timeout.
- Fixed a bug in the new expiration mechanism that prevented use of the runtime key.
- Modified the way the evaluation expiration works. You can now create an instance of the
component after expiration, but all methods will fail, and the Error property will be set to the
relevant license error. This reduces confusion when the evaluation expires and makes it
easier to diagnose license file problems.
- Changed the name of the LicensedCpus property to LicensedProcessors to
- Added license-related error codes for the Error
1.0 beta 2 1998-08-18
- Added basic licensing properties: LicensedCpus,
- Fixed a problem with the Error
property. In some timeout conditions, Error would have the value 10038 instead of the
correct 10060 (hexTcpqErrTimedOut).
1.0 beta 1 1998-07-22