Why does Labview allow a cursor in a indicator?

Hello,
    Why does Labview allow the user to position the cursor with the mouse inside a numeric indicator? Users think that just because they can put a cursor they should be able to type something and enter data. Is there a way to disable/stop the user from putting the cursor in a numeric indicator?
Regards,
Kaspar
Solved!
Go to Solution.

Disabling the indicator satisfies your requirements, but this is funnier.  It would be even better if I calculated the position of the indicator and the "entry point" and just kept the mouse from entering, but I have a project to finish... 
Message Edited by jcarmody on 03-27-2009 11:58 AM
Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
Attachments:
move.png ‏4 KB
test.vi ‏9 KB

Similar Messages

  • Why does LabVIEW allow me to have 2 controls with same name

    Here's a general LabVIEW question:
    Why does LabVIEW allow me to have 2 controls with the same name in the same VI?  It seems like this only increases the chances of confusion.  Especially when someone is just looking at a block diagram (or documentation of a block diagram).
    No other programming language that I know of allows this.  I realize that uniqueness of name is not as critical in LabVIEW as it is in any text based language.  For example, in a text based language, if I had 2 variables called abc and I wrote a statement
    abc = 12;
    the compiler would not know which abc was being referred to.  In LabVIEW, if we had 2 controls called abc, the equivalent of doing an abc=12 is writing to a local variable (which is always linked to one of the controls) and there is no ambiguity.  Still, someone looking at the code cannot figure out which abc is linked to unless he does a right click>>Find>>terminal (or a double click).
    Even though I have never and never will name 2 controls the same, I think it would be a nice constraint to see enforced by LabVIEW.
    Any input from NI engineers on this?
    Message Edited by S G on 12-18-2007 03:38 PM
    S G
    Certified LabVIEW Architect, Certified TestStand Developer, Certified Professional Instructor
    Attachments:
    Trial1.JPG ‏21 KB

    I know when you copy and paste a control or indicator, LabVIEW automatically increments the label. But since you can hide the label, and show or hide the caption, there must be another mechanism that LabVIEW uses to keep track of all the controls. I thought I remember back in the "old days" (ver 6 or 6i) LabVIEW would give you an error if you tried to make two controls with the same name. Perhaps that was LabWindows/CVI.
    I don't know where the index is actually stored, but if you look at a property node linked to the Pane, you will see an array of references to the controls and indicators. Since the references are stored in an array, I assume that any local variables are tied to the index of that array. Since the labels themselves are properties of the control, I guess there's no reason to limit what that label is. They all have a unique index number.
    Interestingly, this array of references grows from the beginning. That is, any new control or indicator is put at index 0, not the end of the array.
    B-)
    Message Edited by LabViewGuruWannabe on 12-18-2007 08:45 PM
    Attachments:
    Labels.png ‏12 KB

  • Why does apple allow apps in the App Store hijack your Internet when certain websites? Why doesn't apple remove their products from the App Store?.

    Why does apple allow apps in the App Store hijack your Internet when certain websites? Why doesn't apple remove their products from the App Store?.

    Apple saw it as their responsibility since the redirection took me to the App Store. They assisted me in stopping the redirection which is occurring on many peoples iPhones. It's a have java script problem that adking is using to get you to buy their games. The websites work normal and then all of the sudden the website is taken over by adking.com.  You can no longer use the website as it immediately takes you to the App Store without ever showing a popup to cancel the redirection. They were very helpful fixing the problem should others experiencing this specifically with adking.com.
    No need to get defensive. I'm not the only one experiencing the problem Apple said.

  • Why does my iphone  4 have a 3g indicator

    why does my iphone 4 have a 3g indicator icon and how to I get 4g service on it?

    KiltedTim wrote:
    The only iPhone that will display a "4G" indicator is the AT&T iPhone 4S when connected to AT&T's HSPA+ network. The iPhone 4 is not a 4G phone.
    Also, the AT&T iPhone 4S will say 4G even if it is a 3G area.
    Mine will only indicate E (2G) or 4G.  It never ever shows
    3G, even when in known 3G location.

  • For Experts: Why does LabView cause System reboot while accessing hardware with driver?

    Hello NI Developers!
    I use LabView 7.1 under Windows XP
    I have a programm console application which accesses through Jungo Windriver PCI-E board.
    This program works fine - and performs DMA data transfer between PC and Board's memory.
    In order to implement this console application work together with LabView I did following:
    1) Added this function inside the source:
     _declspec(dllexport) void LVMainFunction(uInt32 *IntValue);
    _declspec(dllexport) void LVMainFunction(uInt32 *IntValue)
        AllocConsole();                   //Open new console window
        SetConsoleTitle(L"Debug Window"); //Set a title for console window
        freopen("CONOUT$","a+",stdout); //redirec standard output stream to current window so
                                        // so we are able to see "printf" outputs
       freopen("CONIN$","a+",stdin);    //redirec standard input stream to current window so
                                        // so we are able pass inputs from keyboard
       main();                          //Call applications main function which does all the work
    2) Compiled this new source as DLL library
    3) Call  LVMainFunction(...) function from LabView using Call Library Node
    In the result: Executing VI - opens new console window, shows debug outputs and receives keyboard inputs.
    It works fine till the last function, which perform DMA data transfer - and reboots PC.
    1) Why does this happen?
    2) I understand that opening console from Call Library Node, attaches together this console window and running VI. So If I close one of them - both windows closes.
         So does LabView have somekind of restrictions of accessing Hardware's functions? 
    I can read Board's resource information and view size of memory on board, interrupt functions and other information about device, but when I try to reach
    DMA my system reboots. And I understand that this should be some kind of LabView problem, cause I tried different implementations, even without use of
    console window - and the result is the same.
    3) Should I split the program in to two separate processes and perform data exchange using Sockets or Pipes techology?
    Thank you in advance!
    ACiDUser
    Message Edited by ACiDuser on 11-13-2008 09:37 AM

    Hello!
    At LAST!!!
    I solved this problem!
    From the beginning I was following National Instruments manual on how to build DLL with external IDE:
      http://zone.ni.com/reference/en-XX/help/371361A-01​/lvhowto/building_library_project/
    Set the Struct member alignment control to 1 Byte.
    Now this option caused my PC to reboot!
    So could someone explain  why this happened? and If it is a bad tip, so it's better to remove from manual. Then other people will not have such problems as I did
    - wasting 2 monthes of time determining the problem. 
    I changed it to  Set the Struct member alignment control to DEFAULT.
    and now everything works fine.
    Regards
    Message Edited by ACiDuser on 11-13-2008 11:14 AM

  • Why does Java allow this?

    Hello Folks
    Today I saw the following code in an exam about Java programming:
    interface I {
         public final static double var = 32.0;
    class A implements I {
         double var = 15;
    }How can Java allow such a construct? I overload a variable that is public, static and final and replace it with an instance variable that is protected. In my opinion the compiler should reject that, I mean it does it when I try the same with a method. Why is it allowed with variables?
    Regards
    Der Hinterwaeldler

    The declaration of the variable var in class A does not override the declaration in the interface I, it only hides it.
    Methods are different because methods can be overridden. Static and final methods are an exception, they can't be overridden so trying to do it is a compile time error.
    See also http://java.sun.com/developer/TechTips/2000/tt1010.html#tip2

  • Why does LabView crash when unloading my DLL (reentrant calls)?

    I have written a DLL in Borland Delphi using multiple threads that exports several functions (stdcall). I am using LabVIEW 6i on a WinXP machine.  All functions in the DLL work as expected and return correct values. Everything works fine if I set all Call Library Function Nodes to 'UI-Thread', but as soon as I set one Function Node to 'Reentrant', LabView crashes when I close the VI after it has been executed. I assume the error is caused by the DLL unloading mechanism of LabView. Other C++/Delphi programs using the DLL reentrantly work fine, this only occurs in LabView. In which thread does LabView call FreeLibrary/DLL_PROCESS_DETACH? Has anyone experienced similar problems?

    I have never run into this situation myself, but I do know that calling a multi-threaded DLL or CIN from LabVIEW does depend upon the following criteria:
    If your CIN/DLL doesn't have any global data storage (global variables, files on disk, etc.), AND it doesn't access any hardware (register-level programming) AND it doesn't call any functions/DLLs/Drivers that are thread-unsafe.
    OR
    Your CIN/DLL protects (with semaphores or mutex's) access to those global resources.
    OR
    Your DLL is only called from one, non-reentrant VI
    OR
    Your CIN is only called from one, non-reentrant VI AND you don't access any global resources from CINInit, CINAbort, CINDispose, etc. procedures.
    Hopefully this information can help you out in some way.
    J.R. Allen

  • Why does LabVIEW skip over commands in programming structures

    Hello everyone!
    Is there a certain way you program to make labview execute ALL commands within a loop before going into another loop? For example, I have a while loop that stops if either the stop button is pushed or if the set point input is greater than 8. If both of these are false, then the code entered a case structure where it controls the output from a plant model. However, labview will enter the case structure without checking if both conditions are met. I've attached the VI and in the next message will post the VIs from the plant. I want it to do the below code,
    IF (Set Point > 8 OR Set Point < 0) THEN
           SET_Point OK= False
    ELSe
          SET_Point OK = True
    END IF
    IF (SET_Point OK = FALSE OR Stop Button pushed) THEN
             ! STOP VI
    ELSE
             ! Enter PID Control Loop
    END IF
    But labview likes to just jump around and skip parts for some reason. So when it for example, skips the OR check it uses the default value of true for the next case structure. It's driving me crazy. Can anyone please tell me why its doing this??
    Thanks.
    Solved!
    Go to Solution.
    Attachments:
    General Auto PID Simulator.vi ‏83 KB
    Global 1.vi ‏5 KB

    Ah! I can't believe I made that dumb of a mistake. And thanks for the advice altenbach. My overcomplicated diagram probably lead me to making that error. 
    I have another question though. How come when I use the Write to measurement file VI it will start the process variable at like 40 inches but when I don't use it, it'll start it at 0 and do as its supposed to? I've attached my updated VI with the write to measurement file VI in it. You'll see that if you delete it then it'll do as its supposed to. I don't understand why though..
    Attachments:
    General Auto PID Simulator.vi ‏118 KB
    Global 1.vi ‏5 KB
    problem with PV initialization.JPG ‏132 KB

  • Why does labview close whilst my program is running?

    I am running a program doing data acquisition using the PCI-6602 cards. Everything works fine but somehow after I have been doing acqusition and saving the data for approximately 2 days, I find out that the program has been stopped by LabVIEW and find all the windows closed including labVIEW. In my program I did not use any of the exit functions provided with LabVIEW but somehow, labVIEW exits by itself without issuing any error messages. Why is this happening?

    I experienced a problem with LabVIEW 7.0 shutting down unexpectedly.  It may be completely unrelated, but I thought I'd mention it just in case.  My problem was that I was calling a DLL that used a reference handle.  At the end of my test (using TestStand), the test closed, and thus the DLL was unloaded from memory as well.  Because there was still a handle open to this DLL, LabVIEW must not have known how to handle this and shut down (or it confused Windows and it shut down LabVIEW).  In any case, the solution was to have a VI stay in memory which calls this DLL, and put the DLL in a the true case of a case statement wired with a constant false.  Thus, the DLL is never actually called by this VI, but it keeps the DLL in memory.
    So if you call any VIs dynamically, etc., where a VI could be unloaded from memory, check those VIs and make sure you aren't leaving any references open or something like that.
    Hope this is in some way helpful.
    Tom

  • Why does Labview insert quotations in the case structure selector box?

    I was building a case structure with an array of strings.  So, I copied the strings from the array on the FRONT PANEL directly into the SELECTOR LABEL.  My 3 strings have the form; to me, these are 5- character strings with spaces, or 7 characters if you count the spaces as string characters 
    A, B, C   
    A, B, D
    A, B, E
    So, when I copied and pasted them directly into the selector box A, B, C appeared as "A", "B", "C" and A, B, D appeared as "A", "B", "C" and then I got an error for selector values not unique.  Why didn't it appear as "A, B, C"?
    Why did it transform the string I pasted and insert the quotation marks?  I used no quotation marks in my array.  Does the selector label interpret commas as functional characters that require quotation marks??
    Thanks,
    Dave 

    dav2010 wrote:
    I was building a case structure with an array of strings.  So, I copied the strings from the array on the FRONT PANEL directly into the SELECTOR LABEL.  My 3 strings have the form; to me, these are 5- character strings with spaces, or 7 characters if you count the spaces as string characters 
    A, B, C   
    A, B, D
    A, B, E
    So, when I copied and pasted them directly into the selector box A, B, C appeared as "A", "B", "C" and A, B, D appeared as "A", "B", "C" and then I got an error for selector values not unique.  Why didn't it appear as "A, B, C"?
    Why did it transform the string I pasted and insert the quotation marks?  I used no quotation marks in my array.  Does the selector label interpret commas as functional characters that require quotation marks??
    Thanks,
    Dave 
    Actually in CASE STRUCTURE, any frame can have multiple values as 'Case Selector value' and these are separated by a comma. Also if you choose to operate a CASE STRUCTURE using string, it will automatically prefixs & suffixs quotes (") to that string.
    But you can enter  "A, B, C" manually and it will remain as it is. But if you copy and paste A, B, C, the CASE STRUCTURE will automatically change it to "A", "B", "C".
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Why does Labview create a .vi for each global variables?

    Hello,
    I wrote an Labview application which use several global variables (almost 30 variables). All the variables are of variable type "single process". For each of these variables, Labview creates a vi.
    For example, for the variable "_TS.Measures.channes", Labview creates a vi named "TS_'_TS.Measures.channels'.vi". Which means, I have almost 30 "name of variable".vi files: this is confusing!
    All my VI are inside library (.llb). When I try to put the VI of a global variable in a library, Labview can't find them anymore.
    May be can somebody explain me, why LabVIEW does create these VI and how is it possible to put them in a library.
    Cheers,
    Risotto

    Hi everybody,
    Thank you for your answers, I get a lot of informations.
    Yes, I use the new shared variables in LabVIEW8, which I am using like sort of global constants. Now I am understanding what guys are telling me all this about global variables in LabVIEW7.1. Sorry, I forgot to say I was using LabvVIEW8.
    I will have a look on the tutorial too.
    But yet one point about the library collecting all the shared variables in the windows explorer and in the project explorer: When I create a shared variable in my LabVIEW project - for example "test1" as double/single process - the variable doesn't appear in my file directory, but it appears in the project explorer in a library (.lvlib).
    When I drag/paste my shared variable on the block diagramm of my VI, then a file "Math_test1.vi" appears in my file directory. There is no extra .llb created to contain my shared variable vi.
    If I drag/paste the file "Math_test1.vi" in the Math.llb (see picture), then the file is moved in the llb and disapeared from the directory.
    If I created another shared variable "test2" as double/single process and put it on the VI, then LabVIEW creates2 files in the directory: "Math_test1.vi" and "Math_test2.vi". So that I get 2 vi for the "test1" variable now (one in the llb and one in the directory).
    I use several library in the project explorer. But the  library in the project explorer seems to create file with other extension (.lvlib) than the sdtandard LabVIEW library (.llb).
    Cheers,
    Risotto
    Attachments:
    picture.jpg ‏223 KB

  • Why does LabView crash when I run it in parallel with a temp/ RH logging probe?

    I am running LabView 6.1 on windows 95. Up till now I have had no problems. However, we recently acquired a Temperature / Humidity probe which plugs into the Com1 port of the computer and logs the data using it's own software. Since then, when the two programs are used together, eventually LabView crashes with the following error message: Failure, 'image.cpp, line 5793.
    Can you tell me why this occurs and what the solution is?

    Taking a shot at this. It could be because the two programs are trying to access the same type of logging program(excel??). Only one link can be active at a time or they crash. Try running it without saving the data and see if it crashes.

  • Why does LabView dll not work in C Thread?

    Hello Everybody,
    I want to use a LAbView Application as Dll in a Console Application.
    There is an Example Available (DLL_Example.zip)in (Displaying the Front Panel of a LabVIEW-Built DLL Function)
    When I use this Example in a Windows Console Application, it Works fine (It is important for me, to see the LV Window!)
    Code example:
    /* Example Start *******************************************/
    int main(int argc, char* argv[])
    double Y = 4;
    double X = 5;
    double Result = 0;
    SimpleCalculator(1, Y, X, &Result);
    printf("Result = %f", Result);
    return 0;
    /* Example Stop *******************************************/
    When I use the function "SimpleCalculator" in a Thread, the LabView Window never appear, what's wrong?
    Code example:
    /* Example Start *******************************************/
    DWORD WINAPI LVThread(LPVOID lpParameter)
    double Y = 4;
    double X = 5;
    double Result = 0;
    SimpleCalculator(1, Y, X, &Result);
    printf("Result = %f", Result);
    return 0;
    int main(int argc, char* argv[])
    DWORD ThreadID;
    CreateThread(NULL,0,LVThread, NULL, 0, &ThreadID);
    getchar();
    return 0;
    /* Example Stop *******************************************/
    I'm using Microsoft Visual Studio 6.0. and LabView 7.0
    Thanks for every help.

    bobby wrote:
    Hello Everybody,
    I want to use a LAbView Application as Dll in a Console Application.
    There is an Example Available (DLL_Example.zip)in (Displaying the Front Panel of a LabVIEW-Built DLL Function)
    When I use this Example in a Windows Console Application, it Works fine (It is important for me, to see the LV Window!)
    Code example:
    /* Example Start *******************************************/
    int main(int argc, char* argv[])
    double Y = 4;
    double X = 5;
    double Result = 0;
    SimpleCalculator(1, Y, X, &Result);
    printf("Result = %f", Result);
    return 0;
    /* Example Stop *******************************************/
    When I use the function "SimpleCalculator" in a Thread, the LabView Window never appear, what's wrong?
    Code example:
    /* Example Start *******************************************/
    DWORD WINAPI LVThread(LPVOID lpParameter)
    double Y = 4;
    double X = 5;
    double Result = 0;
    SimpleCalculator(1, Y, X, &Result);
    printf("Result = %f", Result);
    return 0;
    int main(int argc, char* argv[])
    DWORD ThreadID;
    CreateThread(NULL,0,LVThread, NULL, 0, &ThreadID);
    getchar();
    return 0;
    /* Example Stop *******************************************/
    I'm using Microsoft Visual Studio 6.0. and LabView 7.0
    Thanks for every help.
    Check out luciangeeks's explanation elsewhere on this forum in several threads about the message loop needing to be pumped by the intial thread starting up the LabVIEW runtime system. In Windows console applications the hidden startup code linked in from the C runtime library to intialize the environment before passing control to the console applications main function also contains a message loop, polling the Windows message queue to among other things translate those messages into keychars so that the C runtime library function getchar() and friends can work as expected. It also makes the console application look responsive to the Windows system so that Windows doesn't think it would need to shutdown the application. LabVIEW DLLs really running as GUI components can't work without an active message loop making sure those system messages are retrieved and distributed to the according (usually hidden) VI windows. However the setup in Windows makes it such that a DLL sort of inherits the message loop of the thread which first entered that DLL. If that thread does not have a message loop, LabVIEW windows simply can't work properly and this means that the LabVIEW code is not managed properly and therefore won't run.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Why does iTunes allow you to play music files that are in the trash?

    I recently was up grading my music library why I got my new mac.  I had 2 I tunes libraries on my computer and checked to see which one I was using and deleted the other music folder.  While the folder was in the trash I played the music to make sure that I would not have a problem...... then I empted the trash.  Problem was that after emptining the trash I could not play the music anymore.  so my question is is there a way to set up a preference to not allow I-tune to not allow access to files in the trash. 

    If an iPod is set to automatically sync from a particular iTunes library, when you connect it to that iTunes library, every song on the iPod exists in the iTunes library.  Therefore, if you want to play a song on the iPod using iTunes on the computer, you can just play that song from the computer's iTunes library, and not the iPod.
    If an iPod is set to load songs manually (by dragging songs to the iPod in iTunes), then the iPod is NOT syncing to a particular iTunes library.  The library on the iPod is separate; songs on the iPod may not be in the computer's iTunes library.  Therefore, you can play songs stored on the iPod using iTunes on computer.
    If your shuffle happens to be 1st or 2nd gen, they work differently from other iPods.   They are always associated with only one iTunes library at a time, so you cannot play songs on the shuffle using iTunes on the computer.
    I was wondering how I could transfer music from my iPod to my library
    You cannot transfer song files from iPod to computer using iTunes (except for songs purchased from the iTunes Store).  However, there are third-party methods and utilities that can transfer song files from iPod to computer.  If you do a Google search on something like "ipod transfer," you should get some links.

  • Why does labview forget the connections to the virtual channels in MAX?

    I create a bunch of virtual channels in MAX - some with double assignment to a single AI port.
    Context - a digital output controls a MUX to switch the inputs into the AI ports of my USB-6361(BNC) DAQmx; thereby allowing me to double up on the number of AI ports I can access (switching every 5ms).
    I can run the code without any troubles. I have now completed my hardware set up and and am now testing the integration with the code. This is where things become a little unstuck.
    Problem: some ports, over time, start displaying erroneous data that is not correct. It is not until I delete the virtual channel and re-create it in MAX, does everything settle and work. This 'bad' data is seen in the MAX test panels tab and virtual channels tab.
    What is going on - should I bite the bullet and program all port assignments (channels) within my code?
    Am i mistakenly killing a link between MAX and the DAQmx?

    natashw already told you that it's expected behaviour when you leave the analog input open. There are two aspects to this:
    1) The analog input amplifier is a high impedance operation amplifier. It's minimal stray capacitance is high enough that it gets charged through very small leakage currents in the amplifier input stage, but the high input impedance doesn't allow those capacitance to discharge quick enough to stay at a defined voltage. So your input is usually very slowly floating to one of the power supply rails depending what transistor side has a slightly higher leakage.
    2) You only have one analog to digital converter. To get multiple channels there is a multiplexer than connects the different input channels to this single ADC. When the multiplexer switches between from a connected signal to an unconnected signal those stray capacitance at the ADC amplifier input has been charged to a certain voltage from the connected channel. With only the internal impedance of the amplifier to discharge this capacitance after the multiplexer switched to an unconnected input, the ADC will simply see the voltage that the stray capacitance has been charged to.
    Having a low impedance amplifier input would solve that problem but create many more problems that would affect the measurement accuracy significantly.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for