PointerList in CVI with ListType?

I want to build PointerList like QList C++ Qt.

I read something about a ListType in LabWindowCVI. But "ListType PointerList;" don't work in my structure.

Error: syntax error; {found 'identifier' wait '}'.

Unrecognized statement.
Can someone explain this type I not found information.

The ha statement apparently no problem; the compiler can point to this line, but the error may be caused by a front line: revise the file where this line checks possible errors (you can temporarily excluded this build woth Ctrl + E line and see if the error is then found elsewhere).

Documentation for the functions of lists are in the online help for the functions in the Toolbox of the programmer. A sample project is available in \toolbox\list.cws for you to study and experiment with this instrument.

Tags: NI Software

Similar Questions

  • Problem with digital I/o read and write in CVI

    I have a PXI with PXI 6225 Renault installed box. For some uses, I wired 4 lines of digital port 0

    for its 4 top lines so that the output digital on bottom lines can be read as a digital input on the top lines.

    In the CVI program I have set up two input and output of tasks as follows:

    Enter task:

    DAQmxCreateDIChan (digitalInputTask, "PXI1Slot5/port0 / line4:7","InputLines", DAQmx_Val_ChanForAllLines ");

    DAQmxCfgSampClkTiming (digitalInputTask, ' AI/SampleClock ", 4000, DAQmx_Val_Rising, DAQmx_Val_ContSamps, 2000" ");

    Output task:

    DAQmxCreateDOChan (digitalOutputTask, "PXI1Slot5/port0 / line0:3","OutputLines", DAQmx_Val_ChanForAllLines ");

    DAQmxCfgSampClkTiming(digitalOutputTask,"ai/SampleClock", 4000, DAQmx_Val_Rising,DAQmx_Val_ContSamps, 2000));

    DAQmxCfgOutputBuffer (digitalOutputTask, 2000);

    I also started a task of analog input to ensure that the analog "IA/SampleClock" sample clock is running, and I check

    as I interpret the correct analog data of my analog lines.

    Here's the problem:

    I write 2000 identical samples of zero for the 4 lines (port0/$line0... (3) with the following command:

    DAQmxWriteDigitalU32 (digitalOutputTask, 2000, 1, 10, DAQmx_Val_GroupByChannel, sampleArray, & writing, NULL);

    After a while, I try to read the 4 lines (port0/4... (7) using the:

    DAQmxReadDigitalU32 (digitalInputTask, 2000, 10, DAQmx_Val_GroupByChannel, scanArray, 2000, & read_num, NULL);

    but the values returned in scanArray are nil!

    If I replace the digitalInputTask by digitalOutputTask in the above function call, I get the good samples rewritten

    (do not know how the 4 lines below that are configured in output mode can be read back! could it be just read buffer?)

    I don't know that the hardware configuration is correct, because when I try to emulate this feature in Labview, it works.

    (I use an output data acquisition assistant to write down the 4 lines of port 0, using a digital wave of entry, then)

    top reading 4 lines with the help of one Assistant DAQ to enter a digital waveform VI.

    In another test, I have 4 lines below in CVI, put on stop my CVI program, start a simple Labview VI to read from

    upper 4 lines and I can see the values I just write in CVI).

    Any idea what could be causing DAQmxReadDigitalU32 to read only zeros in CVI?

    I compared my settings in CVI with parameters DAQ assistant in Labview and tried to make them identical, but nothing helped.

    Thank you

    Try to use these examples to see if you can read and write in CVI

  • How to read the BIT of SQL Server value in CVI

    Hello

    I try to get a value of SQL Server 2005 (ture or false) bit in CVI (with SQL toolkit). I use the DBBindInt, but overall the return value is - 1.

    How can I get the real value of SQL?

    Thanks for your help

    Region

    Do you mean that you never receive the value FALSE, IE 0? Or you expect a TRUE value to be exactly 1? It is very common for TRUE to be represented as -1; If you are concerned just hide all the bits in the value returned with the exception of bit 0 - this will then give your alternative 0/1.

    JR

  • Creation of stand-alone executable file with similar library files without errors of link

    I have an Executive Test that is run on two different test systems. Each stand has another card ARINC429. The old card use 429dll32.lib, while the most recent map use pci429.lib. Test Exec code only loads a single library file (using LoadExternalModule) depending on what the test bench has the card, but since there are many similar functions in both, ICB does not test Exec be built as a stand-alone executable.

    In CVI 5.0.1 I opens the "Create stand-alone executable file" and select "add files to the executable. I check the 429dll32.lib and the pci429.lib to include in the creation of executable, and then click 'OK '. When I click 'OK' to create the executable I have several link errors, one for each function both .lib files have in common.

    Is it possible for each of these .lib files to be included in the compilation without having to create two separate executables?

    eatmontr:

    If you use LoadExternalModule(), you need not include the .lib files in the Executive test project.  Refer to the CVI for LoadExternalModule help.

    Here's the info on the help:

    LoadExternalModule loads an external object module file. You need not list the file in your project or loaded as a module of an instrument.

    The file may be an object (.obj) file, a library file (.lib) or a library (.lib) import DLL.

    Here are a few articles to OR who can help.

    To access the plug-ins with CVI (with sample program) http://zone.ni.com/devzone/cda/epd/p/id/133

    How do I call dll if I have two functions with the same named in two different dll? http://digital.NI.com/public.nsf/allkb/5299ED8D43F3B5FE852563BF0056EBA6

  • "Mesa.dll is not found" from CVI 2010 installation

    When I launch an executable file that has been installed from a distribution kit created with CVI 2010 (360), I get the message "Mesa.dll is not found." But I do not see that the file is installed in C:\Program NIUninstaller Instruments\Shared\Mesa.  If I replace this file with a mesa.dll more than a previous version of the CVI, my newly installed executable launches properly.

    Hi mrtqs,

    While testing on this issue, I came across a similar problem.  From my understanding, the CVI Run - Time Engine will also install of VS 2008 C++ Runtime parts.  According to that the CVI Run Time options you choose to install a different part of the runtime C++ 2008 VS will be included in the installation.  It seems that Microsoft has been able to modify the runtime C++ VS 2008 for some parts, but not others, which is what causes the problem.  As a result, there are a few options:

    1. install the runtime full CVI with default settings

    2 leave out the ActiveX module if does not necessary

    3. install the runtime C++ 2008 VS separately on the deployment computer.

  • CVI 8.1 Distribution BUG

    CVI 8.1

    Dev 8.2.1 vision module

    Duration of the vision

    I developed an application that uses the VDM to display the data of the material non-IMAQ.

    A customer wants a copy of my application.

    I bought the Vision run-time license to copy it.

    There is a problem it's with the option of distribution under this rev of the CVI.

    When I change the distribution and go the tab "Drivers & components" there is NO option

    to add the duration of the Vision, while, on a system where I installed IMAQ, it correctly

    presents itself. IMAQ machine has a framegrabber PCI-1426. But I can't create distribution

    It because of a message "unknown error occurred" popup that kills the process.

    I installed CVI and VDM (no IMAQ) on another computer temporarily to create the version but

    It does not list the VDM.

    Any ideas or is at - it another way to create a CVI with VDM distribution?

    Thanx.

    -Chet

    This knowledge base explains how to deploy the runtime of Vision without installing IMAQ. It is written for LabVIEW users, but also applies to the CVI. The original versions of the Vision RTE 8.x installers did not support redistribution by CVI or LabVIEW distribution builders. The links in the article base knowledge to the Vision with this added support RTEs 8.x updates.

    Regarding the "Unknown error" popup, if you can still run into it, could you please post a log of debugging for us to consider? To create one, bring up the distribution Editor dialog box, select the control tab (the dotted rectangle should be on one of the labels in the tab), press ctrl + shift + L, and then build your distribution. The output log is located in C:\Documents and Settings\\Local Settings\Temp\distBuildDbg.txt. We could then try to determine if this is a bug that has been fixed previously.

    A. Mert

    National Instruments

  • Still need mass of compilation by default values.llb in BT using TS4.2.1?

    I use 4.2.1 TestStand and LabVIEW 2009. Re-reading (new combination of software OR) "Using LabVIEW and LabWindows/CVI with TestStand I fell on this paragraph.

    Using a LabVIEW 8.6.x or advancement system

    When you install a version of LabVIEW later than LabVIEW 8.6.x and you

    to use this version of LabVIEW with TestStand, you must complete

    the following steps to update TestStand - 86 llb default values

    to enable LabVIEW adapter retrieve the default parameter values

    the screw.

    1. create a copy of TestStand - 86.llb to the default values.

    2. rename the copy TestStand - xx.llb default values, where

    XX is the version of LabVIEW, with a revision number, you

    you want to use with TestStand.

    3 mass compile TestStand - default values using the xx.llb the

    version of LabVIEW, you want to use with TestStand.

    I still do with LabVIEW 2009 and TestStand 4.2.1?

    Hi GovBob,

    You don't need to do it with LabVIEW 2009 and TestStand 4.2.1. If you access this location: C:\Documents and
    All Users\Documents\National Instruments\TestStand
    4.2.1\AdapterSupport\LabVIEW, you will see that there are already documents llb 90.l in default values.

  • In the user interface, how can I property "Sequence Call Trace Setting" the stage of 'SequenceCall '?

    Hi all!

    I am writing a user interface. I want know step "SequenceCall" is tracingEnable or not. It is said that "use the Step.Module property to get a reference to a SequenceCallModule object. I can't well it. I can get a reference using "TS adapter API. But how he dose associated with the stage of 'SequenceCall '.

    Thank you!

    Hello

    You can do by using the node of given Variant to in LabVIEW.

    Please see the newsletter - get a different for TestStand objects Interface topic in the manual using Labview and LabWindows/CVI with TestStand for more information and an example.

    You can get a copy of this manual from this link - http://digital.ni.com/manuals.nsf/websearch/B8398AF8729D906F862577B4004FF10C if necessary.

    Concerning

    Anand jegou

    National Instruments

  • File access permission denied

    Hello

    Recently, when I start CVI with the project, I work on I get the error message "file Access Permission denied."

    I have bellive that started after a Windows Update.

    I have servicepack2 CVI 2013 and Win7

    Considered by

    Dear fluidtronic,

    Well, if operate you from your USB key. I don't think that the installation of the CVI is the problem here. Instead I recommend you look at att file and catalog read/write privileges.

    Best regards

  • digital filter 4474

    I use a card PCI-4474 sampling rate maximum of 102400 Hz

    One of the 4 analog inputs is TTL signal for the timestamp: see exhibit attached with the number the horizontal sample [#] and vertical supply voltage [V].

    The swing before the front, it seems as if a digital filter is applied in this forum.

    With the other signs of my request, there is no margin of time for these oscillations before the face steep.

    Y at - it an option to disable this feature? (that's my assumption is correct: disable the digital filter?)

    I'm with LabWindows CVI with DAQmx

    I use Windows 7 x 64

    Kind regards, Jos

    Yes, it's because of an internal filter.

    No, there is no option to turn it off.  It is inherent to all NI DSA devices.  See this article for more information.

    -Kevin P

  • Possible bug found in hyperlinkctrl.c when you use the "VAL_POINTING_FINGER_CURSOR" mouse cursor in your own user interface.

    Hi people, I think I found a bug in the hyperlinkctrl.c custom control, after the update/upgrade an old project CVI.

    I found when I started using the "VAL_POINTING_FINGER_CURSOR" mouse in my UI, when adding a new hyperlink control.

    The error is recoverable error: ' from the mouse cursor is not valid.

    This error breaks in RunUserInterface (never seen anything like this before and I use CVI since version 3.1).

    This happens whenever I mouse - hovering anywhere on the Panel that contains the new hyperlink control.

    I also had a hack temporary to solve the problem, for now, I'll pass it along to this announcement...

    The hyperlink control's source code is located in \toolslib\custctrl\hyperlinkctrl.c

    The bug/problem lies in the service of reminder (of HyperLinkPanelCallback), specifically in lines 460 to 465.

    This hyperlink control wants to use the VAL_POINTING_FINGER_CURSOR as its default cursor when you hover over the custom hyperlink.

    However, if you already use 'VAL_POINTING_FINGER_CURSOR' in your user interface, the branch which verifies that you use what he thinks is 'his own' thread-safe mouse cursor ID, so that can reset it by using his "token concatenation" - created macro "GetTsvCursor", is not an 'else' branch to protect the picture when you actually use the cursor pointing finger... where the error that the mouse cursor is not valid. Here is the snippet of these lines.

    The mouse is not over a hyperlink
    If (cursor is VAL_POINTING_FINGER_CURSOR)
    {
    Reset the cursor to the previous cached cursor
    cursor = GetTsvCursor();
    errChk (SetMouseCursor (cursor));

    ... etc...

    }

    So my hack was to change the type of cursor to "VAL_CHECK_CURSOR" in place and place the cursor of "VAL_POINTING_FINGER_CURSOR" in three locations in this function, then rebuilt files x 86 and x 64.

    Hey Luis, finally win a free T-shirt of LabWindows/CVI with not only have reported this bug, but also to give the precise location of the source, as well as a work around?

    :^)

    JB

    In the meantime, I have submitted a bug with ID #545203 report to track down this problem.

    -Johannes

  • How to get the bar display of title in pixels text length?

    Hello

    Does anyone know how to get the length of the title bar text (in pixels) display?  Just to clarify, that's what I'm looking for:

    I don't see a CVI function for this.  The attribute ATTR_TITLE_FONT for GetPanelAttribute (...) is only valid for the panels of the child which prevents me from using the GetTextDisplaySize (...) to get the size.  Dive into the Windows SDK I can not even find an answer here.  Any ideas?  Thank you.

    Figured out how to do this.  Go to the SDK to get the font properties - is kind of nonobviousness.  But once you have the font properties, you can create a font of meta in CVI, with properties, and once you have the meta font you can use GetTextDisplaySize (...) to get the size.  For any future reference:

    //define a NONCLIENTMETRICS structureNONCLIENTMETRICS ncmtest;//We have to set the cbSize parameter to the size of the passed structure before retrieving it
    ncmtest.cbSize = sizeof(NONCLIENTMETRICS);
    //Get NONCLIENTMETRICS structure
    result = SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, &ncmtest, 0);
    
    //copy the title font name to a c-string
    while(ncmtest.lfCaptionFont.lfFaceName[i] != 0)
    {
        thefont[i] = (char)ncmtest.lfCaptionFont.lfFaceName[i];
        ++i;
    }
    
    //null terminate
    thefont[i] = '\0';
    
    //create meta font with title font properties.  lfWeight & 0x700 indicates bold.  CreateMetaFontWithCharacterSet() doesn't recognize DEFAULT_CHARSET so we replace it with VAL_NATIVE_CHARSET(?).
    uir_status = CreateMetaFontWithCharacterSet ("TheTitleFont", thefont, abs(ncmtest.lfCaptionFont.lfHeight), ncmtest.lfCaptionFont.lfWeight & 0x700 ? 1 : 0, ncmtest.lfCaptionFont.lfItalic, ncmtest.lfCaptionFont.lfUnderline, ncmtest.lfCaptionFont.lfStrikeOut, 0, ncmtest.lfCaptionFont.lfCharSet == DEFAULT_CHARSET ? VAL_NATIVE_CHARSET : ncmtest.lfCaptionFont.lfCharSet);
    
    //get titlebar text
    uir_status = GetPanelAttribute (panelhandle, ATTR_TITLE, thetext);
    //get title bar length
    uir_status = GetTextDisplaySize (thetext, "TheTitleFont", &height, &width);
    

    I have a 79 for the duration of the screenshot above.

  • Handle of the object TS_ExprCtrl_Create

    Hello

    I'm using LabWindows/CVI 9.0.1 and TestStand 4.1.1.

    When I debug my DLL CVI with resource tracking tool, I see that the TS_ExprCtrl_Create function creates 3 handles.

    When the Panel is discarded, 2 handles are automatically rejected.

    But there are still 1 handful who's never been discarded.

    There is a leak memory or did I miss something? Use a function to release the last handle?

    Bruno

    This is a memory leak in TS_ExprCtrl_Create. What happens is that ts_exprctrl_create calls TS_ExprCtrl_CreateActiveXControl, which calls TSUI_ExpressionEditGetBorders to get a handle of object at the interface of borders. But CA_DiscardObjHandle is not called on the handle of the borders object.

    I created a (ID 177213) bug report for this problem.

  • The interface of the AVI with the PC using LabWindows/CVI

    Hi friends,

    I have a vector Network Analyzer Keysight Technologies / Agilent Technologies N5230A. I want to run with the LabWindows/CVI to measure channel 40 GHz. I want to interface the AVI with the PC using LabWindows/CVI. It is really essential for the measures, and I have no experience in doing these things. Would you please direct me to the best, easy as possible of this work? I'm really conscious of the fact that and thank you for your time and concern.

    Mohamed

    I have a vector Network Analyzer Keysight Technologies / Agilent Technologies N5230A. I want to run it with the LabWindows/CVI and measure channel 40 GHz. I want to interface the AVI with the PC using LabWindows/CVI. It is really essential to me, and I have no experience in doing these things. Would you please direct me to the track better, easy and correct these work? I'm really conscious of the fact that and thank you for your time and concern.

    Mohamed

  • With CVI to transfer files to cRIO 9066

    Hello

    I'm trying to copy files to a directory on a cRIO 9066.

    The method I use is to map a drive in Windows 7 and I want to copy the files with the CopyFile function in CVI.

    The reader is defined as \\ni-crio-9066-030c6bf1.local\files (I also tried http://ni-crio-9066-030c6bf1.local \files).

    With this method I can transfer files on this disc with the CopyFile function, but the transfer rate is extremely slow.

    For a 300 KB file, it will take about 25-30 years.

    During this time, my request is breaking, there is no more values in the controls or the UIRs until the copy is complete.

    I tried to disable 'Automatically detect settings' in Internet Explorer in tools > Internet options > LAN settings > connections as I've seen in a knowledge base (http://digital.ni.com/public.nsf/allkb/4EBE45E8A816B19386257B6C0071D025).

    The copy is much more rapid 1-1, 5 sec but I have a few failures of transfer. Windows told me that the transfer failed in a popup, the file in the cRIO is a file of 0ko (and CopyFile returns an error).

    In the knowledge base, they warn about the failures of transfer but I was hoping to get an error code in the CopyFile function.

    I also tried to run cmd.exe copy 'name of the source file' 'target file name' with LaunchExecutableEx but I got the same results.

    I'm in a dead end for now.

    Do you have any idea how I can transfer files between CVI and the cRIO?

    PS: I tried the WebDAV protocol in Labview and it seems fine with that (good transfer rate and no failure of transfer). But I did find this library in CVI.

    Thank you for your help.

    I'm sorry for my late reply.

    I managed to send files in the cRIO 9066 via FTP.

    I installed 'Legacy FTP Server' on the cRIO and I used the FTP API in CVI (proposed on the french forum and by the regulation).

    This solution works very well.

    I didn't want to use an external if possible API so I chose the FTP solution.

Maybe you are looking for