Jump to content

martijnj

Members
  • Posts

    3
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by martijnj

  1. Apparently I was too hasty with my post. Playing around with calling LvVariantGetDataPtr a bit more it seems to work with

    uintptr_t LvVariantGetDataPtr(const LvVariant& var);

    That is to say, the variant's handle must be dereferenced once before passing the pointer in to the function call. I'll leave this here for future reference in case it's useful or someone wants to point out I'm wrong.

  2. Hi all,

    For my HDF5 bindings project (http://h5labview.sf.net) I'd really like to be able to pass variants in and out of C code and be able to inspect their data for a generic read/write interface. CLNs do accept variants as an "Adapt to Type", which then provides a pointer to the Variant object in C. Since this is an opaque object with no documented interface (that I'm aware of!) there is no clear way to get a pointer to the data it contains.

     

    This particularly helpful post states the memory layout of the Variant class, and based on that I can easily extract a pointer to the data I desire. However, since it's only used internally, this layout may change in the future. Since it seems OK for us to know about the internal structure of Variants, wouldn't it be better if we were able to use the functions LvVariantGetDataPtr and LvVariantGetType instead for improved reliability? (if indeed they do what I assume they do). Does anyone have any ideas about this?

     

    I should point out I do have working code based on taking "the right offset" in memory, but using such magic numbers make me uneasy.

     

    Cheers,

    Martijn

    • Like 1
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.