get via GetVariable - this way RoboRealm is doing all the "heavy lifting".
clunky, even if one uses a ramdisk to speed the process. I don't yet
type library if that's of any help to you. Here they are:
// Generated .IDL file (by the OLE/COM Object Viewer)
//
// typelib filename: RR_COM_API.dll
[
uuid(2DDA153B-5603-4697-AAC9-2B6FDCF1DC64),
version(1.0),
helpstring("RR_COM_API 1.0 Type Library"),
custom(DE77BA64-517C-11D1-A2DA-0000F8773CE9, 83951780),
custom(DE77BA63-517C-11D1-A2DA-0000F8773CE9, 1303678299)
]
library RR_COM_APILib
{
// TLib : // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
// Forward declare all types defined in this typelib
interface IAPI_Wrapper;
[
uuid(5379A53A-B254-483B-9DA0-AF6BA0970BE3),
helpstring("API_Wrapper Class")
]
coclass API_Wrapper {
[default] interface IAPI_Wrapper;
};
[
odl,
uuid(B3B82392-E613-4711-B619-E04555549903),
helpstring("IAPI_Wrapper Interface"),
dual,
oleautomation
]
interface IAPI_Wrapper : IDispatch {
[id(0x00000001), helpstring("method Connect")]
HRESULT Connect(
[in] BSTR hostname,
[out, retval] long* res);
[id(0x00000002), helpstring("method Disconnect")]
HRESULT Disconnect([out, retval] long* res);
[id(0x00000003), helpstring("method GetDimension")]
HRESULT GetDimension(
[out] VARIANT* width,
[out] VARIANT* height,
[out, retval] long* res);
[id(0x00000004), helpstring("method GetImage")]
HRESULT GetImage(
[in] BSTR name,
[out] VARIANT* image,
[out] VARIANT* width,
[out] VARIANT* height,
[out, retval] long* res);
[id(0x00000005), helpstring("method SetImage")]
HRESULT SetImage(
[in] BSTR name,
[in] VARIANT* image,
[in] VARIANT* width,
[in] VARIANT* height);
[id(0x00000006), helpstring("method GetVariable")]
HRESULT GetVariable(
[in] BSTR name,
[out, retval] BSTR* value);
[id(0x00000007), helpstring("method SetVariable")]
HRESULT SetVariable(
[in] BSTR name,
[in] BSTR value,
[out, retval] long* res);
[id(0x00000008), helpstring("method DeleteVariable")]
HRESULT DeleteVariable(
[in] BSTR name,
[out, retval] long* res);
[id(0x00000009), helpstring("method Execute")]
HRESULT Execute(
[in] BSTR str,
[out, retval] long* res);
[id(0x0000000a), helpstring("method LoadProgram")]
HRESULT LoadProgram(
[in] BSTR filename,
[out, retval] long* res);
[id(0x0000000b), helpstring("method LoadImage")]
HRESULT LoadImage(
[in] BSTR name,
[in] BSTR filename,
[out, retval] long* res);
[id(0x0000000c), helpstring("method SaveImage")]
HRESULT SaveImage(
[in] BSTR name,
[in] BSTR filename,
[out, retval] long* res);
[id(0x0000000d), helpstring("method SetCamera")]
HRESULT SetCamera(
[in] BSTR name,
[out, retval] long* res);
[id(0x0000000e), helpstring("method Run")]
HRESULT Run(
[in] BSTR name,
[out, retval] long* res);
[id(0x0000000f), helpstring("method WaitVariable")]
HRESULT WaitVariable(
[in] BSTR name,
[in] BSTR value,
[in] long timeout,
[out, retval] long* res);
[id(0x00000010), helpstring("method WaitImage")]
HRESULT WaitImage([out, retval] long* res);
[id(0x00000011), helpstring("method LoadPPM")]
HRESULT LoadPPM(
[in] BSTR filename,
[in] VARIANT* image,
[in] VARIANT* width,
[in] VARIANT* height,
[out, retval] long* res);
[id(0x00000012), helpstring("method SavePPM")]
HRESULT SavePPM(
[in] BSTR filename,
[in] VARIANT* image,
[in] VARIANT* width,
[in] VARIANT* height,
[out, retval] long* res);
[id(0x00000013), helpstring("method Open")]
HRESULT Open(
[in] BSTR hostname,
[in] VARIANT* port,
[out, retval] long* res);
[id(0x00000014), helpstring("method Close")]
HRESULT Close([out, retval] long* res);
[id(0x00000015), helpstring("method GetVariables")]
HRESULT GetVariables(
[in] BSTR name,
[out, retval] VARIANT* value);
[id(0x00000016), helpstring("method SetVariables")]
HRESULT SetVariables(
[in] VARIANT* names,
[in] VARIANT* values,
[out, retval] long* res);
[id(0x00000017), helpstring("method SetParameter")]
HRESULT SetParameter(
[in] BSTR mod,
[in] VARIANT* count,
[in] BSTR name,
[in] BSTR value,
long* res);
[id(0x00000018), helpstring("method GetParameter")]
HRESULT GetParameter(
[in] BSTR mod,
[in] VARIANT* count,
[in] BSTR name,
[out, retval] BSTR* res);
[id(0x00000019), helpstring("method MinimizeWindow")]
HRESULT MinimizeWindow([out, retval] long* res);
[id(0x0000001a), helpstring("method MaximizeWindow")]
HRESULT MaximizeWindow([out, retval] long* res);
[id(0x0000001b), helpstring("method MoveWindow")]
HRESULT MoveWindow(
[in] VARIANT* x,
[in] VARIANT* y,
[out, retval] long* res);
[id(0x0000001c), helpstring("method ResizeWindow")]
HRESULT ResizeWindow(
[in] VARIANT* width,
[in] VARIANT* height,
[out, retval] long* res);
[id(0x0000001d), helpstring("method PositionWindow")]
HRESULT PositionWindow(
[in] VARIANT* x,
[in] VARIANT* y,
[in] VARIANT* width,
[in] VARIANT* height,
[out, retval] long* res);
[id(0x0000001e), helpstring("method SaveProgram")]
HRESULT SaveProgram(
[in] BSTR filename,
[out, retval] long* res);
[id(0x0000001f), helpstring("method Pause")]
HRESULT Pause([out, retval] long* res);
[id(0x00000020), helpstring("method Resume")]
HRESULT Resume([out, retval] long* res);
};
};