1.0.35 支持 delphi Xe2
-----------------------------------------------------------------------------
1.0.34 introduces several Windows version dependent methods.
GetExtendedAttributes and InitializeReportForID work from Win 2000 on
whereas GetInputReport and SetOutputReport work from Wiin XP on.
The component still works in Win 9x, but the new methods simply fail.
To make that possible HID.pas now requires {$DEFINE HID_LINKONREQUEST}.
SimpleHIDWrite has been modernized. It is now a full HID test tool.
The BCB files have been removed. The component still supports BCB, but
the files were outdated and i cannot support them for lack of BCB.
-----------------------------------------------------------------------------
1.0.33 (only in JVCL) fixes DLL problem. If a TJvHidDeviceController is
ionstanciated in a DLL the reader thread does not try to Synchronize its
events anymore. Before that the thread got stuck in the Synchronize.
-----------------------------------------------------------------------------
1.0.32 (only in JVCL) fixes shutdown problem by calling DefWindowProc for the
messages received in the WndProc of AllocateHWnd.
-----------------------------------------------------------------------------
1.0.31 New method CheckOut added added to TJvHidDevice to allow a device
to check out itself in OnArrival event. CheckOutByIndex retained only
for compatibility.
-----------------------------------------------------------------------------
1.0.30 Now uses AllocateHWnd and DeallocateHWnd to catch WM_DEVICECHANGE
through its own hidden window. Now the component works if used in a DLL.
-----------------------------------------------------------------------------
1.0.29 version number has only be given to a JVCL version of the file.
-----------------------------------------------------------------------------
1.0.28 has been updated to newest JVCL standard. It also fixes
a problem with dynamically created TJvHidDeviceController components.
-----------------------------------------------------------------------------
1.0.27 version number has only be given to a JVCL version of the file.
-----------------------------------------------------------------------------
1.0.26 Only the Delphi demo HIDinDLLDemo has been added.
It solves the problem that no WM_DEVICECHANGE messages are received
if a TJvHidDeviceController is instanciated in a DLL.
The IFDEF UNITVERSIONING at the end of the file JvHidControllerClass.pas
is for the JediVCL only and should never be activated for
the standalone component.
-----------------------------------------------------------------------------
1.0.25 The component now uses a PostMessage to trigger DeviceChange
after the constructor has finished. This ensures that all global
Delphi variables (namely Application.MainForm) are initialized.
-----------------------------------------------------------------------------
1.0.24 The component now initializes in the Loaded method like
any other wellbehaved component. The string constants
cHidKeyboardClass and cHidMouseClass have been deleted.
These class descriptions are not used anymore by Windows 2000/XP.
The source style is now Jedi standard.
Only the Delphi demos have been updated. BCB waiting for a helping hand.
-----------------------------------------------------------------------------
1.0.23 All TStringLists in the API have been replaced by TStrings
for improved flexibility. The exception for a second TJvHidDeviceController
instance does not crash the IDE anymore.
-----------------------------------------------------------------------------
1.0.22 Two new events have been implemented in TJvHidDeviceController.
OnArrival and OnRemoval. They fire for individual devices being
plugged or unplugged. OnRemoval is equivalent to OnUnplug, but
happens in the TJvHidDeviceController instead of the TJvHidDevice.
OnDeviceChange fires after all OnArrival or OnRemoval events.
The ReadWriteDemo has been updated to show arrivals and removals.
Fixed some values read with GetRegistryProperty* functions.
Property Security has been renamed SecuritySDS.
-----------------------------------------------------------------------------
1.0.21 mainly improves the integration in the JediVCL.
IFDEF USEJVCL is used instead of STANDALONE.
resourcestrings have been implemented to ease localization.
FreeAndNil removed to allow Delphi 4 compatibility.
-----------------------------------------------------------------------------
1.0.19 fixes a copy & paste bug in SetNumOverlappedBuffers.
A new sample has been added for the infrared receiver
of the new IO-Warrior 24.
Some small fixes to the demos.
-----------------------------------------------------------------------------
1.0.18 has a Borland C++ Builder 6 project for the component
and C++ versions of the demos. The demos are straight
conversions from the Delphi versions which means they are
sometimes a bit clumsy.
The Demo directory has been reorganized into a BCB
branch and a Delphi branch. All projects have relative
search pathes set in their options.
All demos have been reworked to use CheckOutByCallback and
OnData event if needed. Several bugs have been fixed.
The batch file CompileExamplesDelphi.bat compiles all
Delphi demos.
The only issue left is that you have to copy all generated
.hpp files from the base directory to the BCB directory
if you install the BCB version.
-----------------------------------------------------------------------------
1.0.17 adds another check out method. CheckOutByCallback allows
customized check outs. This simplifies the task to find one
of the members of a composite device for example.
A CountByCallback method accompanies the check out method as usual.
The OnData event now starts its thread only if the device is
readable.
-----------------------------------------------------------------------------
1.0.16 adds an OnDataError and an OnDeviceDataError event.
The thread implementing the OnData event now does not terminate
anymore when encountering a read error. It throws an OnDataError
instead. OnDeviceDataError assigns the error event to all
devices in the usual way.
ReadWriteDemo has been updated to use the new feature.
-----------------------------------------------------------------------------
1.0.15 adds a standard Tag property to TJvHidDevice.
-----------------------------------------------------------------------------
1.0.14 adds an OnData event to TJvHidDevice. It is modelled
after the ReadWriteDemo by starting a read thread on the device.
Consequently the ReadWriteDemo has been simplified to use the
new OnData event.
TJvHidDeviceController.OnDeviceData,
TJvHidDeviceController.DevThreadSleepTime and
TJvHidDevice.ThreadSleepTime accompany the new event.
Destroying a checked out and plugged in TJvHidDevice now
results in a complete clone object created. The older
version would lose event assignment.
The IO-WarriorLCDDemo has been added. It can access
IO-Warrior Kits with optional LCD. The IO-WarriorLCDDemo and
the IO-WarriorDemo can be run in parallel on the same device.
-----------------------------------------------------------------------------
1.0.13 more and updated demos. The new C++ ExternalDemo is the first
3rd party demo.
WARNING! The index of LinkCollectionNodes property is now
0-based instead of 1-based!
CollectionDemo has been fixed.
-----------------------------------------------------------------------------
1.0.12 has the completed UsagePages in HidUsage.pas.
CollectionDemo and UsagesDemo show them.
-----------------------------------------------------------------------------
1.0.11 has improved and cleaned up examples.
HidUsage.pas has been extended to include new usage pages
and usages. The new UsageDemo explores this.
More usage pages and usages coming soon.
The new IO-WarriorDemo is intended for the IO-Warrior Kit
available from Code Mercenaries http://www.codemercs.com
The o