HDevGUI

HDevGUI Link to heading

An HTML-based GUI extension package for HALCON to unify image processing, application logic and user interface directly within HDevelop.

Screenshot of a live camera view Screenshot of a dashboard 29 additional entries in HDevelop menu Operators HDevelop with a script to count holes Starting hrun in a console Architecture of HDevelop, together with integration of HDevGUI

MVTec Innovation Day 2026 Link to heading

We are very happy that we had the opportunity to present our extension package HDevGUI in front of a large professional audience at the MVTec Innovation Day 2026. A recording of our talk is available here:

The slides can be found here: Download PDF slides

Online Documentation Link to heading

The English documentation for the HDevGUI Server Extension Package is available directly in HDevelop after installing HDevGUI. A copy of the documentation is available online:

Download Link to heading

You can download all versions of HDevGUI from our website. As long as the extension package does not find a HDevGUI license file, this version serves as a demo version and must not be used for commercial projects. It will show a reminder message box at start up. This message will appear every 20 extension package operator calls, but not before 60 minutes have passed since the last message has been shown.

To receive a commercial license, please contact us at our contact page.

For more information, contact us via our Contact page.

Changelog Link to heading

Version 1.0.5 Link to heading

  • Feature: Monthly evaluation licenses. On request, we provide a license file that enables the full version of HDevGUI for one calendar month, without a dongle or host ID.
  • Changed: mvm_gui_send_image is much faster. Previously, every image waited for the full acknowledgement timeout (250 ms by default), which limited the throughput to about 4 images per second. The web client now acknowledges images as soon as they are decoded.
  • Changed: If a browser does not acknowledge a message in time, the error handling configured for acknowledgements is now applied. Previously, with the connection id ‘all’ / -1, a real acknowledgement timeout was only printed as a low-level error.
  • Changed: Malformed messages from the web client are now logged and ignored, instead of terminating the connection.
  • Bugfix: If the browser reset the connection (e.g. a minimized Firefox), mvm_gui_send_tuple and mvm_gui_send_image raised an “internal implementation error” instead of applying the configured error handling. Also, that error message contained literal \n characters.
  • Bugfix: mvm_gui_close_webclient did not close the web client window. Now the whole process tree is closed.
  • Bugfix: mvm_gui_open_webclient showed an additional, empty console window.
  • Bugfix: Several thread-safety issues when HDevGUI operators are called from multiple HDevelop threads (servers, clients, connections, webserver options and message counters). These could lead to crashes or to acknowledgements being assigned to the wrong message.
  • Bugfix: Possible crash when closing a webserver while a browser was still connected, or while file watchers were enabled.
  • Bugfix: mvm_close_logger crashed if the same logger handle was passed twice.
  • Bugfix: For input objects that are not initialized, the wrong error code (1) was returned instead of the actual HALCON error.
  • Bugfix: When logging to the “gui” destination, a single disconnected browser aborted the delivery of that log line to other webservers and logging destinations.
  • Bugfix: Web client: a <canvas> bound to an id that received a non-image message raised a JavaScript error. Calling bind() more than once (e.g. after mvm_gui_set_html) registered every event handler multiple times. With several <img> elements bound to images, an update of one image could invalidate the others.
  • Bugfix: More robust PNG encoding of images under low-memory conditions.

Version 1.0.4 Link to heading

  • Feature: In addition to <canvas>, support for <img> as target for mvm_gui_send_image.
  • Changed: The time between showing two consecutive demo message boxes has been increased from 60 seconds to 60 minutes to allow customers to evaluate the demo version much better without interruption. Also the number of operator calls between two demo message boxes was increased from 5 to 20.
  • Changed: Better compression of images. When using mvm_gui_send_image to send images to the client, the compression of the images is improved, without introducing large runtime overhead.
  • Bugfix: When using mvm_gui_send_image to send images to the client, there was a memory leak. Fixed. Also the fragmentation of the heap was drastically reduced, thus avoiding a std::bad_alloc exception after a long runtime.