Embedding an Executable GUI
This is a common scenario, as many manufacturers only provide an EXE-based interface. Rather than working against this limitation, we embraced it by embedding the DewesoftX window directly into our LabVIEW application. LabVIEW’s support for displaying external executables allows us to present DewesoftX as just another “device” in the system, maintaining a unified user experience while respecting the boundaries of what can and cannot be customized.
DCOM Interface and Python Integration
What DewesoftX does expose is a DCOM interface that allows external programs to control it. Functions such as loading setup files, starting acquisition, and retrieving data are available through this API. Unfortunately, LabVIEW does not have strong native support or comprehensive documentation for directly calling DCOM interfaces.
To work around this limitation, we introduced a Python wrapper. LabVIEW can call Python code using built-in Python nodes. We wrote a Python module that wraps the DCOM calls, making them accessible to LabVIEW as simple function calls, such as StartAcquisition()
, LoadSetupFile()
, and GetChannelValues()
.
This allowed us to bridge LabVIEW and DewesoftX programmatically while staying within the client’s preferred software stack.
Additional Hurdles: Reference Handling and Launch Timing
During development, we discovered that the DCOM object reference didn’t behave consistently in all contexts. When LabVIEW was called from TestStand, or when using object-oriented LabVIEW code, the reference would sometimes become invalid. To address this, we made the DCOM object a global variable inside the Python code, ensuring a stable and persistent reference regardless of how or when the call was made.
We also encountered timing issues when launching DewesoftX. Simply initializing the DCOM interface wasn’t always sufficient; the EXE had to be launched and ready before certain functions could be called. To solve this, we added a command-line call from LabVIEW to launch the DewesoftX EXE, followed by the DCOM initialization steps. This two-step launch process ensured consistent startup behavior.

Outcome
The result of this project was a testing solution that seamlessly integrated DewesoftX into the client’s preferred tools, NI LabVIEW and NI TestStand, while preserving powerful measurement functionality and adding automation and flexibility.
Why Use DMC for Your Next Project?
DMC specializes in solving tough integration challenges by bridging best-in-class platforms through creative engineering. Our ability to combine commercial software tools like LabVIEW and Python with OEM measurement devices like DewesoftX, using custom scripts and flexible architecture, ensures that clients retain the functionality they know while gaining the automation they need.
Contact us today to learn more about our Test and Measurement solutions and how we can help you achieve your goals.