OpenWire Project

By Boian Mitov

Freeware 02 Nov 2015

In category

Components > Tools > Base classes


The purpose of the OpenWire project is to introduce unified easy way to transfer data and events among different VCL/FireMonkey components.

This is very similar to the way the products as LabView and HP VEE work.

As example you can have a sine wave generator which streams out to a chart and to a filter, and then the filter streams into another chart and a file logger, as well as to a serial communication sending the data to another system.

OpenWire is Free Open Source project.

The OpenWire package doesn't contain any components. Instead it contains Pin Classes which can be used in other components.

Also includes a Visual Graphical Editor for codeless development.

OpenWire uses streams in order to transfer the data. Each stream is a connection between one output and one or multiple inputs.

  • Each component can have one or more inputs and/or outputs.
  • Each Input or Output is called Pin. I.E. there are IputPins and OutputPins.
  • Each OutputPin can stream specific format data to compatible format InputPins.
  • Each type of data has its own data specification.
  • Supports state pins, allowing components to share common state.

There are 2 packages added in the project demonstrating the usage of the pins in real components. Some of the components are even really useful for real applications. Each component can have multiple inputs and outputs and can exchange multiple types of data trough any of them. It may sounds complex, but the necessary code to handle it is usually no more than 5-6 lines of simple code, making OpenWire the simplest yet most powerful way to connect components and exchange data and events.


  • Status: Fully functional
  • Source: FW
  • Exe demo: included
  • Size: 402 499 960kB


  • C++ Builder 10
  • C++ Builder XE7
  • C++ Builder XE8
  • Delphi 10
  • Delphi XE7
  • Delphi XE8
  • FireMonkey 3