Hello Guest it is November 14, 2019, 10:31:43 PM

Author Topic: Mach4 - COM Object  (Read 3155 times)

0 Members and 1 Guest are viewing this topic.

Mach4 - COM Object
« on: June 09, 2014, 05:22:15 PM »
a while back it was said that Mach4 would allow software 'control' from outside the program , i think it said it would be 'exposed' as a COM object. In any case is such type of control planned in beta or later versions ? Are there any options now ?
Re: Mach4 - COM Object
« Reply #1 on: June 10, 2014, 01:51:25 AM »
It's possible to create a plug-in (.DLL) which links and calls the Mach4 core library. This requires the Mach4 SDK.

Beside the API (listed in this thread: http://www.machsupport.com/forum/index.php/topic,27141.0.html), Mach4 can actively call your plug-in to notify it about state changes.
Re: Mach4 - COM Object
« Reply #2 on: June 10, 2014, 07:46:59 AM »
i was hoping that the MAch4 program itself would be interested in creating a simple COM plugin.

Offline smurph

*
  • *
  •  1,149 1,149
  • "That there... that's an RV."
    • View Profile
Re: Mach4 - COM Object
« Reply #3 on: June 14, 2014, 01:24:36 AM »
COM is not supported.  However, there is an IPC interface that works the same across all targeted platforms (Windows, Linux and Mac).

Steve
Re: Mach4 - COM Object
« Reply #4 on: June 30, 2014, 03:10:15 PM »
Thanks for your reply

Are there any sources of information on the ipc interface, is it lua based ?

Thanks...

Offline smurph

*
  • *
  •  1,149 1,149
  • "That there... that's an RV."
    • View Profile
Re: Mach4 - COM Object
« Reply #5 on: June 30, 2014, 05:18:44 PM »
It is not LUA based.  However, one could use LUA.  It is basically a library that implements the regular C API via IPC.  So to make a remote application, all one needs to do is link with the MachIPC lib instead of the MachAPI lib.  The function calls are identical.  In fact, the mcLuaEditor is using it.  That is how it calls Mach API functions when debugging LUA scripts.  When the scripts are run in the context of Mach, they are using the direct API.

Steve