LabView 8.5 ActiveX Variant Data

Hi all,
First off, I admit I have no idea what I'm doing with this ActiveX stuff however I did find some vi's that do almost what I need.  My question is, how do I know what data I need to squirt into the purple texts under sheets to achieve the result I need.  Specifically, the After which I assume controls whether the new added sheets occur before or after the first sheet created by excel.  I got lucky with the Count but is there another document I need from say Microsoft that tells me what type of data each of these takes?  Sorry for being so ignorant but this is how we learn, no?
Mark
Attachments:
ActiveX.jpg ‏52 KB

That sounds like you don't have the Visual Basic Help files installed. A "normal" installation of Excel doesn't install this. You have to install them using "advanced customization" of the application. If you're installing Excel as part of office this checkbox is present right below where you select which product(s) to install. Then, in the "Advanced customization" window expand "Office Shared Features". Then make sure that the item "Visual Basic for Applications" and its child entry "VIsual Basic Help" are both selected to be "Run from My Computer".
As noted, though, this information can also be found on the web from MSDN.

Similar Messages

  • ActiveX variant to LabVIEW variant

    Hi Ppl,
    I'm reading ActiveX data from an application(TestStand) in LabVIEW. The data I get is of the type ActiveX Variant. When I use variant to data node I'm able to convert the data to the corresponding data type. Howevere in my application the data type varies dynamically and I cannot use the variant to data node.
    I will have to flatten it to string. But the flatten to string node does not work with ActiveX variants. It only works with LabVIEW variant types. So is there any way that i could convert ActiveX variant types to LabVIEW variant. I tried the to variant node too. I too does not convert it as expected.
    Thanks,
    Sathish
    Here is how both the variant types differ
    Activex variant (boolean):
    '': OLE Variant 
    Variant Type -> VT_BOOLValue -> FALSE
    LabVIEW variant(boolean):
    'Boolean': boolean (TRUE or FALSE) 
    FALSE

    Hi lordsathish,
    Unfortunately, there is no way in LabVIEW to access type data for OLE/ActiveX variant data.  However, you can obtain information about the datatype of a TestStand PropertyObject using the ValueType method:
    myObject.Type.ValueType
    This will return the data type (see the ValueType help entry for more details).  you can then use the specific type methods (getValBoolean, etc) to extract data.  In the case that you have an array, you can use the ArrayDimensions and ElementType to extract the data from the array.  In the case of a container, the contained items will be considered propertyObjects, so you can use the getNumSubProperties and getPropertyObject methods to access the contained items.
    Refer to the PropertyObjectType reference help for details on these methods
    I hope this clarifies!
    Al B.
    Staff Software Engineer - TestStand
    CTA/CLD

  • LabView to ActiveX Variant

    Hello,
    I was looking for some help with this. I have had issues in the past with placing arrays into an ActiveX Variant and found that ActiveX variants are not the same as LabView variants. I am tring to place a 0 or a 2 into Property input which is variant type. At this moment, it does not work. My guess is that the activex variant isn't handling the input well. I may be wrong, but my intuition say this is my issue. Does anyone have a way to deal with this? Here is NI's response to the issue. 
    Thank You for your responses.
    -=-=-=-=
    Hi Chuck,
    I was able to talk to R&D and it looks like there is not necessarily a
    simple or new way to handle ActiveX Variant data in LabVIEW. From a previous
    issue I found, the engineer had worked with R&D and said:
    "Use the 'Database Variant to Data' VI instead of the 'Variant to Data' VI
    While the name may be misleading, the Database Variant datatype is the same
    datatype as the ActiveX Variant. The native LabVIEW Variant is different from
    the ActiveX and Database Variant datatypes."
    The customer in that case had a few issues using this VI, though, so it may
    also not help your implementation either; there also is not a "Data to
    Database Variant" function that I am aware of. Furthermore, I understand
    that this VI is the same direction of dataflow as RolfK's example. As far as
    the "Data to ActiveX Variant" implementation, R&D said that it
    would have to be implemented the same way that Rolf has made his VIs. The
    R&D engineers referenced the following example, which is also linked by
    "lvb" in the LAVA forum post:
    NI Community: Dereferencing Pointers from C/C++ DLLs in LabVIEW
    https://decibel.ni.com/content/docs/DOC-9091
    Finally, I did find a post in the LabVIEW idea exchange, which I believe was
    started by "lvb" on the LAVA forum you found. If you are not familiar
    with the Idea Exchange, it is where LabVIEW users can propose and
    "Kudos" (or vote) for ideas that they wish would be implemented in
    LabVIEW. While this does not guarantee that a feature will be in a future
    version of LabVIEW, it does more effectively put it on NI R&D's radar.
    LabVIEW Idea Exchange: Support OLE Variant or ActiveX Variant Type Access
    http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Support-OLE-Variant-or-ActiveX-Variant-Type-Access/idi...
    Attachments:
    GM FLIR A320 ImageGrab AE.jpg ‏16 KB

    appears it is okay to wire directly like that. I found examples with I16 wired straight to property input. Must be the resister I am writing to isn't work like it should.

  • VARIANT data in TestStand

    I want to control a program using ActiveX in TestStand. I can successfully obtain a reference to the VI object in the program. The server program was written in LabView and allows the Call method of ActiveX to control the program. The Call method requires two parameters. Both are of data type VARIANT (parameterNames, parameterValues). The parameterNames are basically strings, but the parameterValues are mixed type(string, int, bool,etc).
    Is there a way to create a data type of VARIANT in TestStand to pass data through the ActiveX adapter??
    Note that I can do this in LabWindowsCVI, but I was trying to avoid writing a special DLL and use the TestStand Adapter.

    Bob asked what you meant by mixed data types. To clarify, the LabVIEW ActiveX server has a call method. It's second parameter is a varaiant array of variants, where the elements can be different (mixed) data types. Each data type corresponds to the LabVIEW control specified in the first parameter of the Call method, which is a variant array of strings.
    As Bob explained, the ActiveX automation adapter is able to automatically convert TestStand properties to variants, when the data type of the properties are support ActiveX data types (e.g. most scalars and arrays of these scalars).
    For the first parameter of the Call method you can send in an TestStand array of strings. This array will automatically be converted to a variant array of BSTRs be
    fore being passed to the Call method.
    Currently TestStand does not support a variant data type. Therefore, it is impossible to create an array of variants so that the array can in turn be converted to a variant by the ActiveX Automation adapter.
    In general, the ActiveX automation adapter does handle sending data from/to an ActiveX server. The issue of passing arrays of variants has not occurred very often. We have encountered it once internally at NI, but I believe that you are the first customer to ask about passing arrays of variants.
    In terms of the big picture, I don't understand why you are calling a VI using the AcitveX automation adapter instead of the the LV adapter. If the vendor has already created a VI to call another VI through the LV ActiveX server (why does he/she do this?), then perhaps you should just call the vendor's VI directly.

  • Variant data

    Hello,
    I am using an ActiveX DLL in my current LabVIEW project, something
    that I have never done before
    I use one of the DLL's methods to receive Variant data and then use
    the "Variant to Data" to try and receive and array of floats that I
    then want to plot to a chart. At the moment I am only getting 0.00 for
    all the values and I know that this should not be the case. I create
    an indicator for the Variant and this is the information I can get.
    OLE Variant
    Variant Type -> VT_ARRAY|VT_R4
    Value -> Array(Non Displayable)
    I have also tried the "Get Variant Attribute" VI but don't get any
    values for either 'name(s)' or 'value(s)'.
    Using "Variant To Flattened String" gives me an array of
    integers for
    the type string: 6,132,1 and nothing in the data string.
    Any ideas?
    Regards,
    Adrian.

    Nghtcrwlr wrote:
    Should I not post this question in LabVIEW thread?
    You originally posted this in the Breakpoint board.  I had the moderator move it to the LabVIEW board.
    Use the context help (Ctrl+H to toggle it on/off).  You will notice if you put your cursor over the Variant to Data node that it explains that you have to supply a data type to convert to.  You can wire anything into the data type, such as an array of doubles.  If you don't supply a type, it defaults to a variant.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • What is the impact of using a variant data type on performance, speed memory demands etc?

    This is another one of my "lets get this settled once and for all" threads.
    I have avoided variant data types whenever possible to keep the performance of my apps up. From some observatsions i have made over the years, I am of the opinion that;
    1) In-place operations can not be carried out on variants.
    2) Passing a variant to a sub-VI (regardless of the terminal on the icon connector) are always copied.
    I would like confirmation or correction of the above so we know more about this animal we call LabVIEW.
    Thank you,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Solved!
    Go to Solution.

    A couple notes:
    1. You can use the To/From Variant nodes for the Inplace Element Structure to operate inplace on the contained variant data. This should work just fine even if you have a big 2D array contained.
    2. Variants are incredibly useful when you use them for Variant Attributes, rather than just storing data. The Variant Attribute implementation uses a binary tree to store the key value pairs, which provides quick insertion and lookup.
    3. I don't work on the internals of LV, but I see no reason whatsoever that passing a variant into a subVI would always necessitate a copy. I could be wrong, but that sounds very odd to me.
    However, I have generally started trending towards using flattened strings. Flattened strings are generally more efficient memory-wise, because they don't contain all the type descriptor information, just the raw data. (I think there's some exception when flattening LV Classes.) Variants always store the type descriptor, so even an empty variant can take up a bit of memory.
    Variants received a big performance boost from 7.x to 8.x. They used to have a bad reputation, but I wouldn't be afraid to use them where applicable. I personally don't see a lot of benefits over flattened strings, though, except in the case of tools like the OpenG Variant INI files, which can dynamically parse out and construct variant types.
    Jarrod S.
    National Instruments

  • Decode variant data w/o using 'Variant To Data' function.

    I need to decode variant data w/o having foreknowledge of the type used to create it. That is, I'm using the 'Flattened String To Variant' function which gives me the info I need, but it's all contained within one indicator. I need some way to break this info down into its constituent elements.
    For instance, let's say I have the flattened data and type descriptor from a cluster with two elements, a boolean and a string, but not the structure itself. Passing this flattened data and/or the type descriptor into a function, I would get a 2D array (or the like) as output containing the name of the boolean (its label), its value, and the name of the string and its corresponding value.
    There must be a way to
    do this, and I suspect it's been done already, but I can't find any reference to it.
    I have attached a file named Test.vi which demostrates this problem.
    Remember, even though I know the name of the control, I won't know the type, so I cannot use the 'Variant To Data' function to deference these values. I can make ready use of DLLs, CINs, or LabVIEW code for the solution.
    Thanks ahead of time for any help! Greg
    Attachments:
    Test.vi ‏26 KB

    You might be able to take advantage of the Variant to Flattened String VI from the Advanced>>Data Manipulation>>Variants pallette. This VI converts a Variant to a flattened data string and a type descriptor. The type descriptor is explained in ap note 154. You might be able to create a VI that would parse data from the flattened data string using the type descriptor. You might have to represent each piece of data as a flattened string to work around the data flow issues in LabVIEW.

  • Variant Data and Data (Type)

    I'm on my way to build a XML parser for my program.
    How do you make Variant display it's Data and Data (Type) like the one on my screenshot?
    I dont want my data type be a string. I want it to be the same as my cluster.
    Is there a way to edit the data and data type for a variant control and return the same data for it's indicator?
    Thanks!
    Attachments:
    aaa.jpg ‏23 KB
    BBB.jpg ‏32 KB
    CCC.jpg ‏19 KB

    Can you demonstrate how exactly you're editing the Variant data type, as string...!!
    Below is an example, where I converted a cluster (Error data type) into variant and also displayed it on the Front Panel.
    Now if you wanna edit the original cluster data, by editing the string displayed in Variant indicator, this is not a good idea. Ideally you should convert the Variant data type to its original data type and thendo modification and convert it back to Variant.
    saintalan94 wrote:
    the VI at the link you provided have a password, I cant even look into the VI.
    Those VIs are provided as it is from its developer and even I don't have the password.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Variant data to data

    Hi,
    I am connecting to MySQL server and with SELECT VI from database
    connectivity kit I am having 2 coloums of data, I have read the
    documentation it says, If I want to convert this data into labview data
    I have to use Variant Data to Data VI but when I use that I have got the
    error message below.
    What do you think is the problem?
    ERROR MSG:
    Generally, polymorphic terminals accept any wire type connected to them.
    But sometimes these terminals only accept a limited subset based on
    other wire types connected to other terminals. The most common cause of
    this conflict is using the type cast node to cast between incompatible
    types, such as a 2D array and a string. Check the terminals connected by
    this wire and change that node to make this wir
    e type acceptable.
    TIA

    Crystal wrote:
    > Actually, there is a function specifically for databases called
    > Database Variant To Data. Have you tried using this function?
    Hi,
    That is what I was talking about but meanwhile I understood that it was
    my fault.
    Cause the VI name is not Variant Array Data to Array Data )
    When I split and send the variants one-by-one it works.
    cheers

  • Variant Data vs Flattened to String

    Hi All,
    I haven't worked much with the variant data type in LabVIEW and after reading some basics about it, I am wondering what is the basic difference between a variant data type and a flattened string.
    I read somewhere that variant data types also contain the meta data which includes the type of the data it has and still we have to wire the data type to the function "Variant to Data'. Why?
    What is the use case of variant data type? I am basically thinking of a use case where flattened string can't do a job what variant data type can do.
    Thanks,
    Ritesh
    Solved!
    Go to Solution.

    [quote]
    If a LabVIEW variant knows its own data type, why must you specify a data type in the Variant to Data function? Why can the variant not just unflatten itself? This is by design rather than by necessity. Variants must fit within the existing LabVIEW paradigm, namely that the data type of every wire is defined at design time. If a variant unflattened itself, what color would the wire be? While it is understandable that LabVIEW does not allow a variant to unflatten itself, LabVIEW needs a function that returns the data type of the variant as an enumerated type, similar to the VarType function in Visual Basic. Without any way to check data types before attempting a conversion, the only recourse is to guess an acceptable data type and then check for an error when the conversion fails.
    [/quote]
    http://www.ni.com/white-paper/4998/en/
    Variant to Data still faster than Flatten to String (3x Approximatelly), cause no data conversion is required. 
     Flatten to string: Labview make an entire data structure copy and reallocate to conversion in single memory block. 
     Variant to Data: Labview just allocate pointer to memory allocation that actually carries the data.
    With Small datatypes, that performance doesn't make any difference,but it's important to understand this concepts.
    PS: Sry for bad english. I'm brazilian.
    "In theory, theory and practice are the same. In practice, they’re not."

  • Flatten Variant to String vs. Flatten Data to String in case of variant data type

    May be a dumb question, but I want just understand what is the principal difference and what are the restrictions for both methods? Also I noticed that in case of "Flatten Variant to String" it looses all its attibutes, and this is not in case of flatten generic data to sting. Where I can find a more detailed info on this?
    LabView Ver. 6.0,6.1

    defuflo,
    See OpenG.org >> Site Docs >> LabVIEW Data 1 of 2.
    On non variant data, "Flatten to String" and "Variant to Flattened String" have the same output.
    On Variant data, "Variant to Flattened String" ouputs the flattened string and type string of the sub-type held in the variant. All variant attributes are lost in the process since they belong to the variant, not to the subtype.
    "Flatten to String" operates on variants like on any other types, returning the type string of a variant and all its flattened data, including any attributes.
    LabVIEW, C'est LabVIEW

  • I have a large number of photos imported into iPhoto with the dates wrong.  How can I adjust multiple photos (with varying dates) to the same, correct, date?

    I have a large number of photos imported into iPhoto with the dates wrong.  How can I adjust multiple photos (with varying dates) to the same, correct, date?

    If I understand you correctly, when you enter a date in the Adjust Date and Time window, the picture does not update with the date you enter.  If that is the case then something is wrong with iPhoto or your perhaps your library.
    How large a date change are you putting in?  iPhoto currently has an issue with date changes beyond about 60 years at a time.  If the difference between the current date on the image and the date you are entering is beyond that range that may explain why this is not working.
    If that is not the case:
    Remove the following to the trash and restart the computer and try again:
    Home > Library > Caches > com.apple.iphoto
    Home > Library > Preferences > com.apple.iPhoto (There may be more than one. Remove them all.)
    ---NOTE: to get to the "home > library" hold down option on the keyboard and click on "Go" > "Library" while in the Finder.
    Let me know the results.

  • How to create a multipage PDF with same template but dynamically varying data?

    Hello,
    I need to create a multi-page PDF where I need to use the same template but dynamically varying data.
    Eg Scenario:
    1. I have data for 5 material in my ABAP program.
    2. I have a PDF template in SFP which has a 2 page structure.
    3. Based on the number of materials (5 in this case), I need to generate a PDF which will have 10 pages (2 for each material).
    4. the generated PDF should be like the one shown below:
    e.g.  MATERIAL_PDF (pdf name)  
          |  Page1(Mat1[View1].data)
          |  Page2(Mat1[View2].data)
          |  Page3(Mat2[View1].data)
          |  Page4(Mat2[View2].data)
          |  Page5(Mat3[View1].data)
          |  Page6(Mat3[View2].data)
             .. and so on...
    Thanks,
    Aniket

    Isn't it just by setting the two pages into a form ( like an subform in the content ) and put the settings in a proper way?
    There is this setting, that the masterpage comes up everytime the pagecount is done.
    Example
    Page 1 3 5 --> Masterpage 1
    Page 2 4 6 --> Masterpage 2
    And the designview with the flowing data, you can do it by scripting to get to the next page after the pos is finished.
    Unfortunaly I do not got a system atm, so I hope the explaination give you a clue, where to search.
    Regards
    Florian

  • Hi i am new to labview. i want to extract data from a text file and display it on the front panel. how do i proceed??

    Hi i am new to labview
    I want to extract data from a text file and display it on the front panel.
    How do i proceed??
    I have attached a file for your brief idea...
    Attachments:
    extract.jpg ‏3797 KB

    RoopeshV wrote:
    Hi,
    The below code shows how to read from txt file and display in the perticular fields.
    Why have you used waveform?
    Regards,
    Roopesh
    There are so many things wrong with this VI, I'm not even sure where to start.
    Hard-coding paths that point to your user folder on the block diagram. What if somebody else tries to run it? They'll get an error. What if somebody tries to run this on Windows 7? They'll get an error. What if somebody tries to run this on a Mac or Linux? They'll get an error.
    Not using Read From Spreadsheet File.
    Use of local variables to populate an array.
    Cannot insert values into an empty array.
    What if there's a line missing from the text file? Now your data will not line up. Your case structure does handle this.
    Also, how does this answer the poster's question?

  • Which table  Variant datas are stored

    Hi ,
        I need to know where variant datas are stored and in which table they are stored .
    juts let me know the name of the table alone .
    Thanks ,
    vinay .

    Hi again,
    1. The contents of the field are NOT STORED
       in the manner which u are assuming
    a) field name - vield value
    b) field name - vield value
    x) field name - vield value
    2. Rather they are stored in the same table VARI
      in RAW format.
    3.  CLUSTD is the LRAW field,
       which stores this whole data
       in encoded format.
    regards,
    amit m.

Maybe you are looking for

  • Output Control and Copy Control

    I have the following problem. My client has a copy control for transfering data from a quotation to a different type of quotation. The quotation (old one) has a sold-to-party and a ship-to-party. These two partners are copied to the new quotation. If

  • Buffering An External .FLV In AS3

    Hello guys, I have this AS for playing external .flv movies from various buttons... vid1_btn.addEventListener(MouseEvent.CLICK, clickVid1); vid2_btn.addEventListener(MouseEvent.CLICK, clickVid2); vid3_btn.addEventListener(MouseEvent.CLICK, clickVid3)

  • Premier Elements 12 randomly crashing

    Premier Elements 12 randomly crashing, WIndows 8.1, Dell 9020 AIO event viewer shows; Application: Adobe Premiere Elements.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: except

  • Problems with getting user input

    Hi All, I want to get user input from a command line and i am NOT using a GUI. The user can still see their password when they are typing it in. Is there anyway to show '******' when they type in their password?? This is what I have so far.. public s

  • Elements 13 will not go on line to validate serial number

    Can any one tell me how to validate Elements 13? It will not see my internet. Adobe will not help me,and chat line does not work. Now I have a $89.00 program that  I can not use thanks Adobe. Some Please help!!