I am am having a problem with the following code - it’s returning a nil object:

if (REALGetPropValueString(fvObj, "string", &vStr)){ }

fvObj is a Variant object containing a REALstring.
vStr is the REALstring variable to receive the result.

The only docs I can find (see below) in relation to retrieving the value from a variant object is to use REALGetPropValueString and to pass the type I want, e.g. “string” as above.

Boolean REALGetPropValue@Type@(REALobject object, const char *propName, @Type@ *value);
object: the object from which to retrieve the property value. This parameter cannot be NULL. propName: the name of the property to retrieve from the object. Note that this can be a “special” name such as “Type” for a variant object. It will also to retrieve a property value from a computed property’s getter method. value: a pointer of the appropriate type where the value is stored.”

Am I doing it wrong?

Grant (2018 Xojo Conference Attendee)

The property name to get a string value out of a Variant is not “String”, but “StringValue”. Maybe this will work:

if (REALGetPropValueString(fvObj, "StringValue", &vStr)) { ... }

Thanks @Eli Ott. It’s late here and I need to go to bed.