Hi,
I am trying out AutoIt to access a program called Pipesim. According to the authors:
"PIPESIM has been designed with "Openness" in mind. Therefore key modules can be "driven" from 3rd party applications, for example, Microsoft Excel, VB, C++, and so on."
one of the calls/commands i make is .GetNameList ()
From the documentation of Pipesim:
GetNameList (ObjectType As Long, pNameArray, Count As Long)
OLE/COM Object viewer gives this information about this method:
void GetNameList(
[in] long ObjectType,
[out] VARIANT* pNameArray,
[out] long* Count);
My AutoIt script uses this as : $p.GetNameList(7, $list, $count)
$list returns are an array with index 0 to 26 (matches the $count with returns 27). Elements $list[1] to [26] do contains the proper string values (e.g. 'RB-136H') but element [0] contains a left pointing arrow (seems to be line feed since when I copied it from the output of ConsoleWrite and pasted it here it takes me to a new line with no visible character).
Another Get method ( for which OLE/COM Object viewer says ):
VARIANT_BOOL GetPropertyStringAtObjectIndex(
[in] BSTR ObjectName,
[in] BSTR ParentName,
[in] BSTR PropName,
[out] BSTR* pValue,
[in] long Index);
It returns pValue with a value of '??\'
Are these limitations of AutoIt w.r.t. COM or am I doing something wrong?
Thanks for any insight into this. This will really decide if we adopt AutoIt as our chosen scripting solution of choice. It has given us an extremely good impression otherwise. The functions work fine with Excel/VBA but have problems with VBScript.
Regards,
Faiz