Not a bug fix, per se, but a change in the way the dll handles the hBitmap passed to it.  I had made the incorrect assumption that the host language would have a good way to deal with the .GetHbitmap method.  Apparently, you need to define a Win32 DeleteObject command to remove the resources created with that function.

It's not too big a deal in the .net languages, but VB6 could get ugly.  Instead, I'm now automatically deleting the object sent to the LcdUpdateBitmap function.  The download is on the DMcLgLCD page and contains updated example code.

Thanks to TimoHollwedel, I've found a couple of bugs in the DMcLgLCD dll.  The bugs have been removed and I went ahead and added in some new functions as well.  All of the examples have been updated to reflect all of the changes.

Here's the quick lowdown on what's changed:

    - Fixed a small memory leak.
    - Added LcdReadSoftButtons.  Stable way of polling the soft button status.  Meant to replace the LcdSetButtonCallback function.
    - Added LcdSetConfigCallback.  Allows a headless app to have a config screen that can be called by Logitech's LCD Manager.
    - Added LcdConnectEx.  Necessary for reading the G-19 extended soft buttons.  With LcdConnect, you can only read the direction keys as G-15 buttons.
    - Updated examples.  C# Example is now more graphical in nature, showing the button presses on the LCD screen itself.

Download available on the DMcLgLCD page.