I'm writing a standalone app for Solidworks using API in Unmanaged C++ and facing some kind of a problem. There're methods for obtaining annotations' position coordinates on the drawing sheet - IGetPosition and GetPosition. Both a stated to have arrays of 3 elements as RetVals. But Visual Studio does not accept me to pass array of doubles to IGetPosition.
Meanwhile, API Help has examples for definitions in C# and C++/CLI:
System.double IGetPosition();
System.double SW API IGetPosition As I have figured out, System.double is not jast a double, but a struct in Managed C++. I am not famailiar with this stuff as I'm just a beginner. So the question is: How can I represent System.double in Unmanaged code to be accepted as an IGetPosition ¶meter?
BTW: GetPosition method takes a VARIANT, but returns a safearray of rank1, which seems not to be compatible with 3 values of XYZ. Also found out something about Marshalization. Is that the right way? If so, would you be so kind to provide me with an example?