f



How to remove the "int len" of my return string on the DLLS header when building a DLL on LabVIEW 8.5

Hi all.
I'm building a DLL on LabVIEW and I choose a string as an output on the terminals connectors.
But LabVIEW creates another output, the lenght of the return string.
This is a problem because I have other DLLs and I need them to be compatible.
How do I remove this length from the header? What is the difference between Pascal String and C string and String Handle Pointer?
String Handle Pointer removes the length from the header but I don't know the difference between this data types.
Thanks in advance for the help.
 
Daniel Coelho
Portugal
 
0
x9561 (148438)
6/13/2008 10:10:05 AM
comp.lang.labview 35210 articles. 1 followers. vasusachin24 (1) is leader. Post Follow

3 Replies
724 Views

Similar Articles

[PageSpeed] 5

Daniel Coelho wrote:Hi all.
I'm building a DLL on LabVIEW and I choose a string as an output on the terminals connectors.
But LabVIEW creates another output, the lenght of the return string.
This is a problem because I have other DLLs and I need them to be compatible.
How do I remove this length from the header? What is the difference between Pascal String and C string and String Handle Pointer?
String Handle Pointer removes the length from the header but I don't know the difference between this data types.
Thanks in advance for the help.
 
Daniel Coelho
Portugal
 C string pointer is a pointer to a memory location whose string information is terminated by a 0 byte. Pascal String Pointer is a pointer to a memory location where the first byte specifies the number of bytes to follow. This obviously allows only for strings up to 255 character length.LabVIEW String Handle is a pointer to a pointer to a memory location where the first 4 bytes are an int32 value indicating the number of characters to follow. You can read such a String handle in a function without many problems, but you can only create, resize and delete such a handle by using LabVIEW memory manager functions. So this makes only sense if the caller of such a DLL is LabVIEW too as another caller would have to go through several hoops and tricks in order to gain access to the correct LabVIEW kernel that could provide the memory manager functions to deal with such handles.Last but not least output strings whose allocated length is not passed to the funciton as additional parameter are a huge secerity risk (talk about buffer overrun errors). LabVIEW DLL Builder does not support the creation of DLLs with output string (or array parameters)  without the explicit passing of an additional parameter telling the DLL function how large the allocated size is (so that the DLL function can make sure to never write over the end of the buffer).The additional length parameter only disappears for String Handles because LabVIEW will simply resize them to whatever length is necessary and that is also the reason why those handles need to be allocated by the same memory manager instance that is also going to execute the DLL function.Resizing of memory pointers is non-standardized and in normal circumstances not suited for passed function parameters at all. Rolf KalbermatterMessage Edited by rolfk on 06-13-2008  12:28 PM
0
x9561 (148438)
6/13/2008 10:40:05 AM
Thank you for the very good the explanation. 
I wasn't aware of those types of error. I'll change my other DLLs in order to return an extra argument, the string buffer length.
Thank you for your quick reply.
My best regards,
 
Daniel Coelho
Portugal
 
0
x9561 (148438)
6/13/2008 10:40:07 AM
Daniel Coelho wrote:
Thank you for the very good the explanation. 
I wasn't aware of those types of error. I'll change my other DLLs in order to return an extra argument, the string buffer length.
Thank you for your quick reply.
My best regards,
It's not so much for returning the length of the actual returned string (strlen() can tell you that too) as much more for the DLL function to make sure to not write past the end. So it is in the first place an input parameter (passing by value would be fine for that) but you can of course use it also to return the number of actually filled in string characters (in which case you need to make it passed by reference).So your non-LabVIEW DLL functions will in fact use functions like strncpy() instead of strcpy() to avoid the possibility of buffer overruns.Rolf Kalbermatter
0
x9561 (148438)
6/13/2008 11:10:07 AM
Reply:

Similar Artilces:

How can I modify the "Type definitions" of "Function Prototype" if I want build a DLL in Labview 8.5.1.?
Hello,We have a library with several VIs (API - Interfaces to our Real Time Target). This VIs we provide to our customer to generate own VIs to control the Real Time Target.Now we want to provide the functionality of this VI-library as DLL to our customer. The problem is, that labview use self definite name of type definitions. Also if I use "strict Type definition".Example:void GetOutputValues(VARIANT *Scale_In, int32_t ModelNr, uint16_t SignalID[], TD1:smileymad: *errorIn, VARIANT *Scale_Out, TD2 *Data, TD1 *errorOut, int32_t len)It is possible to modify "TD1" and "TD2"? I want to give useful names.GreetingsSteffen Hi Steffen,       Try editing the .h file as follows: CHANGE FROM: typedef struct { LVBoolean status; long code; LStrHandle source; } TD1; CHANGE TO: typedef struct { LVBoolean status; long code; LStrHandle source; } TD1; typedef struct { LVBoolean status; long code; LStrHandle source; } LVErrorCluster; then your GetOutputValues prototype becomes: void GetOutputValues(VARIANT *Scale_In, int32_t ModelNr, uint16_t SignalID[], LVErrorCluster *errorIn, VARIANT *Scale_Out, TD2 *Data, LVErrorCluster *errorOut, int32_t len) If your source-code doesn't refer to "TD1", then you probably won't need to keep the TD1 prototype! Cheers. ...

LabVIEW 8.5.1 "The build was unsuccessful"
When attempting to build my executable in LabVIEW 8.5.1 I get the following dialog: &nbsp; <img src="http://forums.ni.com/attachments/ni/170/338657/1/Build%20Errors.PNG"> &nbsp; I've tried recreating my build specification, reinstalling LabVIEW, commenting out sections of my code and nothing seems to help.&nbsp; Has anyone encountered this before?&nbsp; Any ideas NI?Message Edited by FlamingYawn on 07-08-2008 11:24 AM Build Errors.PNG: http://forums.ni.com/attachments/ni/170/338657/1/Build Errors.PNG Hi, &nbsp; Are you building a .exe application? In that case, please verify that all your startup and always included VIs exist in the same path and have been properly compiled. You can try Tolls&lt;VI Analyzer&lt; Mass Compile. Also are you using DSC or shared variables in your code? &nbsp; Ipshita C. Hi Ipshita, &nbsp; Thanks for responding.&nbsp; &nbsp; Yes, this is "a .exe application."&nbsp; &nbsp; My startup path is correct, and I tried building with all my "always included" VIs removed.&nbsp; Same error. &nbsp; I've mass compiled several times. &nbsp; I'm not using DSC or shared variables. &nbsp; I'm able to build the executable on another computer with the exact same project and code (we use source code control), so something must be different about my environment or setup. &nbsp; Thanks, &nbsp; Robert I have seen this error before, but ...

plug-in &quot;not installed&quot; in my LabVIEW project's &quot;Build Specifications&quot;
I moved my LabVIEW project from one computer to another, now when I click on any item under the project's "Build Specifications", I get an error reading "The plug-in for the selected item is not installed on your system." Does anybody know how to fix this? I have no idea what this "plug-in" is.Attached is a screenshot. plug-in error.PNG: http://forums.ni.com/attachments/ni/170/222664/1/plug-in error.PNG ...

why it keeps on asking &quot;NI LabVIEW 8.5.1&quot; distribution when building installer?
Hi, I am building an installer for one image processing application. For addtional installers, NI Labview runtime engine 8.5.1NI vision runtime engine 8.5NI IMAQdx 3.1.2NI VISA runtime 4.3When building, it keeps on asking "NI LabVIEW 8.5.1" distribution even though I put the CD into CD room, saying it needs to copy a component installed or updated by the distribution to continue building the installer.If&nbsp; NI-IMAQ dx 3.1.2 not checked, it is OK. BUT, I need it.Thanks a lot for any help.Anne Zuo What is a "CD room"? or CD driver. sorry for my language.&nbsp; Take a look at this <a href="http://forums.ni.com/ni/board/message?board.id=170&amp;view=by_date_ascending&amp;message.id=210032#M210032" target="_blank">link</a> and see if it helps. &nbsp; Also, if it doesn't like disk 1, put in disk 2 instead, if not disk 2, then try disk 3.&nbsp; Perhaps it is looking for the driver it needs, but the actual files it is looking for is on the 2nd or 3rd CD. &nbsp; Ultimately, it may be best to copy all of the CD's to your hard drive and have it point to them there. ...

Adding an &quot;IMAQ Image.ctl&quot; to the &quot;Display State.ctl&quot; of an XControl prevents LabVIEW from creating a probe of &quot;Display State.ctl&quot;
I am working on an extended IMAQ Display control using LabVIEWs XControl capabilities. &nbsp; I need a copy of the original image passed to add some overlays which must not affect the original image. To achieve this I am creating a backup image in the "Init.vi" and deleting it in the "Uninit.vi". I am storing the reference&nbsp;of this image&nbsp;in the "Display State.ctl" which is part of every XControl. &nbsp; As soon as I am adding an "IMAQ Image.ctl" to the Display State cluster, it is no longer possible to generate a probe of the Display State cluster for debugging purposses. I am always getting the message: "Failed to load or create probe." Deleting the "IMAQ Image.ctl" from the cluster makes the probe working again. &nbsp; Is it a bug or am I doing something wrong? &nbsp; I am working with LabVIEW 8.5 and Vision 8.5. &nbsp; Regards &nbsp; Ingo Bartsch Hello Mr. Bartsch, is it possible for you to post a small example to reproduce the behaviour? It would be helpful to get a description in which way you use the typedef files. I found a example/knowledge base where some informations were included to XControl and LV but not with Vision. <a href="http://digital.ni.com/public.nsf/allkb/1DC1ADD2A136DA298625712C00635758?OpenDocument" target="_blank">http://digital.ni.com/public.nsf/allkb/1DC1ADD2A136DA298625712C00635758?OpenDocument</a> Best wishes Ja...

Memory is full during &quot;Save As&quot; of LabVIEW 8.5 project
Good Morning All, &nbsp;&nbsp;&nbsp;&nbsp; Have run into a weird issue while trying to rename a LabVIEW 8.5 project. I've got two projects that ended up having the same names (one by me, one by another engineer). I want to open both at the same time, so I figured I'd open the one and do a "save as", or a "rename". The first time it started processing, doing file loads, and then hung looking for a sub-vi, with the search address pointing to the .llb in the LV 8.5 directory where I manually located it. Once that was resolved, and the original project saved I tried again. This time it did a bunch of loading and then gave me an error box with the message:&nbsp; "LabVIEW:&nbsp; Memory is full.&nbsp; Cannot save project 'original project name.lvproj'" This isn't a big project, the machine is a new HP Compaq dual core 2.8GHz with 1.5Gb of ram, so I don't really think that it should be generating anything that big. This happens with either a "save as" or "rename". I ended up just changing the names of the .lvproj .aliases files to the one I needed and it seems to load ok, but it would be nice to understand what is happening here. &nbsp; &nbsp; This is interesting behavior, since NI actually ensured that you would now have the ability to Save As and Rename a project with the <a href="http://www.ni.com/pdf/manuals/371780c.pdf" target="_blank">release ...

error 7 in &quot;application builder&quot; for LabVIEW 8.5.1
Hello, &nbsp; I am getting an error while building a project for making EXE file. &nbsp; below is the displayed message. &nbsp; Error 7 occurred at Copy in New VILibrary.vi-&gt;AB_Dest_LLB.lvclass:Create_Destination.vi-&gt;AB_Build.lvclassLCreate_Destinations.vi -&gt;AB_Build.lvclasss:Build.vi-&gt;AB_EXE.lvclass:Build.vi-&gt;AB_Engine_BUild.vi-&gt;AB_Build_Invoke.vi-&gt;A B_Build_Invoke.vi.ProxyCaller &nbsp; ============================NI-488: Non-existent GPIB interface. C:\ProgramFile\NationalInstruments \LabVIEW8.5\vi.lib\Utility\libraryn.bin &nbsp; thanks, &nbsp; You can force LabVIEW to recompile the entire VI hierarchy in your project with CTRL+SHIFT+Run Button. Have you imported some old VI's into the project?&nbsp; From a previous version? Did you add files since creating the build parameters?&nbsp; You may want to delete the build parameters and create a new one. RayRMessage Edited by JoeLabView on 07-02-2008 08:35 AM Also, check the path of the reported missing file and make sure it really isn't missing. Thanks George...&nbsp; :) Especially if code moved around (Copy / Paste to another folder / backup, etc..) Thanks Ray and George, I was using VIs of 7.1 version for 8.5 builder. I deleted the previous build parameters and created a new one, it was sucessful. - sriveni &nbsp; Glad it worked.. :) ...

LabVIEW RT 8.5.1 &quot;reboot due to system error&quot;
I'm running my app on a quad core RT desktop target.&nbsp; The executable runs anywhere from a few minutes to a few hours before the machine reboots.&nbsp; About half the time I get the "reboot due to system error" and the "software state: safe mode" messages.&nbsp; rtlog.txt has no record of the reboot. &nbsp; Is there any way to get LabVIEW to log any useful data when this happens? &nbsp; What actions can I take to track this down (other than disabling portions of my code to see what part might be causing it)? Connect up a display to&nbsp; the RT chassi to see if you get any message there. In addition, watch your memory useage. If you run out of memory,&nbsp;RT will just STB. :smileysurprised: Ben Hey Ben, Thanks for responding. I do have a display hooked up to my RT desktop, but when it reboots, it reboots.&nbsp; Screen goes blank.&nbsp; No messages. How do you watch the memory usage on the RT target? What does STB mean? Thanks, In LV 8 and up I believe there is a property under the RT target inside the project. STB = "Sh#$ The Bed" Ben You can go to Tools --&gt; Real-Time Module --&gt; System Manager ...

Labview 8.5 error on save: &quot;Cannot load help information of [filename].&quot;
Hi all, &nbsp; &nbsp;I was working on a VI in Labview 8.5 when the program (Labview) crashed. When I relaunched Labview it asked me if I wanted to recover the VI&nbsp;I was working on,&nbsp;I said yes and the recovered VI runs fine, but I cannot save it. When&nbsp;I try to Save or Save As I receive the following error message: "Cannot load help information of [Filename]" and my only option is "Cancel Save". If I click "Cancel Save" Labview returns a "File not Found error". Until the recovery, I could and did save the file with no problems. It now seems that I am locked out of the file. &nbsp; &nbsp; I have a backup, but it is does not contain the 2-3 hours of work I put in before the crash. Does anyone have a work-around, or know the source of this error? This is the second time I have seen it on a recovered file (the first time I had a fresh backup, so it wasn't a big issue). &nbsp; Here is a dump of the "Referencing files in the project or its dependencies" from the Save As dialog: &nbsp; [Project Name].lvprojreplay2-offsets.vi:Instance:6replay2-offsets.vi:Instance:5replay2-offsets.vi:Instance:3replay2-offsets.vi:Instance:2replay2-offsets.vi:Instance:4replay2-offsets.vi:Instance:1replay2-offsets.vi:Instance:0 &nbsp; Thank you, Tim I'm having the same problem. I came here to see if there was any information about this problem, and found the previous message. Lucky for me, I&#...

How can I convert the &quot;AI one pt&quot; symbol from LabVIEW 6.3 to LabVIEW 8.0?
Hi, &nbsp; I've got an assignment with LabVIEW and&nbsp;I work with LabVIEW 8.0. The program I work with is written in LabVIEW 6.3 and had to be converted&nbsp;to LabVIEW 8.0. That went very well, except for one symbol. The "AI one pt" symbol (see&nbsp;enclosed figure) turned into an empty box (question mark). My question to you is how can I overcome this problem, or how can I simulate this symbol with LabVIEW 8.0? &nbsp; With kind regards, &nbsp; Sander Smeets &nbsp; <img src="http://www.ese.upenn.edu/rca/software/Labview/labview41/inputoutput/AISamplechannel.gif"> Hello, Graziano is right about this. To make it completly clear: The block you refer to as a symbol is a VI belonging to the Traditional NI-DAQ driver. Currently there are two drivers for DAQ boards: DAQmx (the new one) and Traditional NI-DAQ (the old one). Since your VI was written in LabVIEW 6.x (6.3 never existed) the VI uses the old driver. What you need to do is: install Traditional NI-DAQ on your PC to get the support VI's for the driver in LabVIEW. This Traditional NI-DAQ installer&nbsp;should be on the driver CD which was delivered along with LabVIEW 8.0 or you can download it here: <a href="http://joule.ni.com/nidu/cds/view/p/id/586/lang/en" target="_blank">http://joule.ni.com/nidu/cds/view/p/id/586/lang/en</a> There is one good point though which Graziano already mentioned: Which DAQ board are you using? I...

Error 1047 in LabVIEW 8.2: LabVIEW failed to send variable to the script server. Server:&quot;&quot;
I am working with the evaluation version of labVIEW as well and I have run into another error.&nbsp; I am using a MATLAB script node within a for loop and attempting to pass the for loop counter variable into the script.&nbsp; When I run the code it brings up a 1047 error and says "LabVIEW failed to send variable to the script server. Server:"" ".&nbsp; I looked up the error online which seems to have roots in a failed auto initialization of MATLAB.&nbsp; Is there something that I can do in labVIEW to fix the problem or is it strictly a MATLAB error? &nbsp; I really appreciate your help. Hi Patsenat, &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; We have a knowledgebase document on our system referring to this issue.&nbsp; Try reading through <a href="http://digital.ni.com/public.nsf/allkb/2B3FF46C8512C4F786256CF30071BE53?OpenDocument" target="_blank">this</a> and attempting what it says.&nbsp; If you still have problems, please post again. ...

How to use &quot;GetLastInputInfo&quot; in &quot;user32.dll&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hi, &nbsp; I need to logout user if he doesn't make action during 5 minutes, "GetLastInputInfo" method in the "user32.dll" library, return the tick of the last action, so I can&nbsp;know the inactivity time of the login user. &nbsp; But I try to using "Call Dll function" item in Labview 8.1, and each time I run VI, Labview crash. &nbsp; Next, is information about the method : &nbsp; DLL###############################User32.dll &nbsp; Syntax###############################BOOL GetLastInputInfo(PLASTINPUTINFO plii); &nbsp; Parameters###############################plii : [out] Pointer to a LASTINPUTINFO structure that receives the time of the last input event. Private Type LASTINPUTINFO &nbsp;&nbsp;&nbsp; cbSize As Long &nbsp;&nbsp;&nbsp; dwTime As Long End Type Return Value###############################If the function succeeds, the return value is nonzero.If the function fails, the return value is zero. &nbsp; Remarks###############################This function is useful for input idle detection. However, GetLastInputInfo does not provide system-wide user input information across all running sessions. Rather, GetLastInputInfo provides session-specific user input information for only the session that invoked the function. &nbsp; You can see also my VI source. &nbsp; GetLastInputInfo.vi: http://forums.ni.com/attachments/ni/170/31...

&quot;IMAQ image to string&quot; difference in 8.2 and 8.5
My basic aim is to capture image from one computer and then send to another in LAN using TCP/IP. I have LabVIEW 8.5&nbsp;and LabVIEW vision 8.5 in one and LabVIEW 8.2 and LabVIEW vision 8.2 in another. I&nbsp;capture an image in the computer whear&nbsp;I have installed 8.2 version&nbsp;of&nbsp;both&nbsp;and then flattened using " IMAQ image to string"&nbsp;and then sent it to computer using TCP/IP to computer with 8.5 version but the image is not displayed whearas when i do&nbsp;send&nbsp;that from 8.5 to 8.2 ( Capture the image in the computer with 8.2 and then flatten it to string and send it to the computer with 8.5 and display) , it works. Is it beacuse of different version of LabVIEW vision? &nbsp; Hi aman_bajra,You should be able to pass the image from one computer to another using TCP/IP, even if the computers have different versions of the Vision Development Module installed.&nbsp; I tested this here and I had no difficulty sending the image from a computer running Vision 8.5 in LabVIEW 8.5 to a computer running Vision 8.2 in LabVIEW 8.2, or vice versa.&nbsp; FYI, I used the normal Flatten to String node, not the IMAQ Image to String VI.&nbsp; I have included the VIs I used to do this below.&nbsp; Please give these a try and reply back if you are still unable to send your image properly.&nbsp; Thanks.Rishee B.Applications EngineerNational InstrumentsMessage Edited by risheeb on 03-12-2008 12:24 PM...

Labview 8.5.1's MathScript window failed running imread with an error &quot;A problem occurred in a subVI call.&quot;
Hi, I am trying to port a Matlab program into a MathScript script.&nbsp; Following is the first few lines of the script:clear;image1=imread('C:\LV_VertAlign\DSC_0104.jpg','jpg');image_double1=im2double(image1);image_gray11=rgb2gray(image_double1);In the first line, imread is supposed to read in a photo taken from a DSLR camera, so I think it's a 32-bit image.&nbsp; And this is the error I got when trying to run this script in the Labview 8.5.1's Mathscript windows:"Error in function imread at line 2.&nbsp; A problem occurred in a subVI call."What is the problem here?&nbsp; and why does it complain about a subVI call?Thanks for any help to point me in the right direction.-Anh Hi Anh, &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; We have documentation on many of the MathScript functions available in LabVIEW.&nbsp; You can look at a document <a href="http://zone.ni.com/reference/en-XX/help/371361D-01/lvtextmath/msfunc_imread/" target="_blank">here</a> that describes how to use the imread function.&nbsp; This is searchable from ni.com by entering the function name.&nbsp; If you read this document you will see the second parameter of the function only accepts the following arguments : 'BMP', 'JPEG', 'PNG'.&nbsp; If you change your line 2 to : image1=imread('C:\LV_VertAlig...

Error Code &quot;1097.....this might corrupted LABVIEW's memory..........&quot; appears after exit the labview and re-start labview
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have a probelm when I use the "tool/import shared library(.dll)" wizard&nbsp;to generate the&nbsp;API from C. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The API &nbsp;works correctly when I complete the wizard, but after I exit labview and re-start labview to run&nbsp;the API&nbsp;again. The error 1097 code "......this might corrupted LABVIEW's memory.............."appears. &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The only solution now is to re-generate or update the wizard to&nbsp;generate the API. &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I try to find the answer in &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://digital.ni.com/public.nsf/allkb/58596F5D41CE8EFB862562AF0074E04C?OpenDocument" target="_blank">http://digital.ni.com/public.nsf/allkb/58596F5D41CE8EFB862562AF0074E04C?OpenDocument</a>&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The paragraph in above article shows ........................... &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "LabVIEW does not crash until it is closedThe most likely problem is that the DLL function being called has corrupted th...

Re: VisualBasic &quot;Show &amp; Hide&quot; equivalents in LabView
Hi, I want to show/hide the Labview Help programatically. (Just on the click on single button) How it can be done? Do i have to use event structure on Ctrl + H buttons???:smileyindifferent: Please suggest some solution. Thanks There's a help palette with a primitive called Control Help Window, which should do what you want (assuming you want the context help). <img src="http://forums.ni.com/attachments/ni/170/336539/1/untitled5.PNG"> Message Edited by mathan on 07-01-2008 07:07 AM untitled5.PNG: http://forums.ni.com/attachments/ni/170/336539/1/untitled5.PNG Hi Tst, Thanks. i know that there is a Context Help Window where you can see the help for all the functions or Labview help. i want to show/hide this window programatically. Is it possible? Thanks. Thanks Mathan, This is what i wanted. Thanks. Hi Dev, the first of those functions ("context help window") is what you need - as you can read in the context help window for that function!!!:smileyvery-happy: Yes, i got it. thanks . ...

Labview &quot;Fatal Internal Error &quot;memory.cpp&quot; line 1038
Hi, &nbsp; This is an example file provided by NI and can be found in Labview 8.2\examples\instr\niHSDIO: Dynamic Generation.lib. Inside this library, there is a file called "Dynamic Generation.vi". If I copied "Dynamic Generation.vi" to other place, the labview will crash. Error message: &nbsp; "Fatal Internal Error. "memory.cpp". Line 1038. Labview version 7.1.1. You will lose any unused work, please contact NI, etc, etc" &nbsp; In the mean time, the Windows freeze. Mouse right click no response. No status bar at the bottom of the screen. The whole desktop is blank. All icons on the desktop disappeared. I have to log-off and re-login to re-active everything. &nbsp; I also tried to copy&nbsp;other VI's in other library files. Same thing happened. &nbsp; Thanks, Jing I&nbsp;was using Labview 8.2.1 when I had this crash, though I have Labview 7 installed in the same computer. When I "copy the file to some other place", I mean: Click the *.vi file, ctrl-c and ctrl-v to some other directory. Thanks, Jing ...

&quot;re-entrant&quot; &quot;file I/O&quot; &quot;QSM_State Machines&quot;
&nbsp; &nbsp; I have trouble with writing (appending) to text file in a QSM that is in an "occurence mode" of operation whereby the queue waits for outside engueue to go ahead and do a task. The task is simply to write to a file a line of text. &nbsp; Outside producers give the queue its go ahead and data is sent along etc... &nbsp; WHat I am seeing in the logging functions are multiple errors (Error 1) Somehow Labview&nbsp;is not noticing that the reference is valid or it is invalidating the reference. &nbsp; Q is Should I just let the QSM loop to keep it alive and would that work? &nbsp; What is the rule concerning queue waiting for an event? Does the VI get flagged as idle and is that why the ref appears to be dropped?&nbsp; THere is no reason I can think of for the ref to be dropped. It is opened in the init frame then kept in a shift register. and available at each iteration in the QSM. &nbsp; The example works in a simple loop but not a loop that is waiting on an occurence.&nbsp; Why? &nbsp; The only work around I can manage is to use the path and open the reference when it is not valid which feels kind of&nbsp; silly if you get my drift &nbsp; Anyone seen this before? &nbsp; Thank You &nbsp; &nbsp; &nbsp; ...

build a DLL in LabVIEW &amp; Use the DLL in LabVIEW
I am trying to build a DLL for the simple vi with LabVIEW and want to use the DLL in LabVIEW. is it impossible? &nbsp; I wrote a vi and it have 2 terminals. one is the input for numeric dbl data type and one another is the output for numeric dbl 1D array data type. &nbsp; It was built with the Application builder for LabVIEW 8.0 and DLL was created successfully. &nbsp; I want to use this DLL&nbsp;in new vi with LabVIEW. &nbsp; Call library function used. I wrote a new vi to use that DLL. &nbsp; In config dialog I config each parameter for dll and connected terminals. but it doesn't work &nbsp; pleas refer to the attatched file and let me know what I missed. &nbsp; Array1D.zip: http://forums.ni.com/attachments/ni/170/235977/1/Array1D.zip ...

Build error after upgrading from 8.2.1 to 8.5 &quot;Error 1055 occurred at Invoke Node...&quot;
After upgrading to 8.5, I'm getting the following error when trying to build an EXE: &nbsp; Visit the Request Support page at ni.com/ask to learn more about resolving this problem. Use the following information as a reference: Error 1055 occurred at Invoke Node in AB_Source_Library.lvclass:Close_Reference.vi-&gt;AB_Build.lvclass:Copy_Files.vi-&gt;AB_Application.lvclass:Copy_Files.vi-&gt;AB_Build.lvclass:Build.vi-&gt;AB_EXE.lvclass:Build.vi-&gt;AB_Engine_Build.vi-&gt;AB_Build_Invoke.vi-&gt;AB_Build_Invoke.vi.ProxyCaller Possible reason(s): LabVIEW:&nbsp; Object reference is invalid. I have been building this application for both Windows and Mac OS, and I even get the same error when building the&nbsp;.app&nbsp;on an Intel Mac. Things that I've already tried: *&nbsp;Mass-compiling all my code * Created the project from scratch * Enabled each panel of the "diagram disable structure" one at a time&nbsp;and compiled again &nbsp; Any ideas? I think I saw that in LV 8.2.1 after upgrading from LV 8.2 I did a repair on the nistall and that cleared up the problem. You may want to try that. Ben You mean a repair of the NI installation of LV8.5?&nbsp; But I had the same trouble on a Mac OS machine too.&nbsp; Seems unlikely that an installation glitch could explain the problem on such different platforms.&nbsp; (For the record, I tried on both a Win2K machine and an XP machine--a total of 3 different ...

Remove &quot;zeros&quot; form a txt file created by Labview
Hi everyone, I got a problem with my txt data and I hope somebody will help here. &nbsp; I'm doing measuremnts and I'm saving the data in a txt.&nbsp; The saved data look like that:&nbsp; 0.000000 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.743435 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.899894 &nbsp; My question &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...

&quot;filewatcher labview&quot;
Hallo &nbsp; Hat jemand von Euch bereits einen filewatcher (ein Programm das nachsieht ob ein anderes Programm Daten in ein file schreibt, und mir dann den zugriff auf diese Daten erm�glicht.) Ich ben�tige ein sollches Programm dringend Version 7.1 bis 8.2 vorhanden. &nbsp; Vielen Dank Werner Hallo Thanks for info! To you have a ready program for checking an activity on a file. How could i give a notice for a good answer! Thanks Werner &nbsp; Thanks Gerd nice day ...

Installer &quot;Source file settings&quot;, &quot;VI Settings&quot; problem in 8.2
I have just upgraded from LabVIEW 8.0 to 8.2 and it seems the Installer "Source file settings", "VI Settings" check boxes no longer have any affect on the built application. &nbsp; For example, if I un-check the "Show Menu Bar" boxes for my Main.vi and build, when I run the built application the Main.vi Menu Bar is visible. &nbsp; It seemed to work as expected with 8.0 though. &nbsp; Any help and suggestions are much appreciated. &nbsp; Aaron Hi Seamus, Thanks for that and I look forward to hearing from you again Aaron ...

Using &quot;To-upper-case&quot; on cluster with Enum (LabVIEW 8.2)
Hi folks, &nbsp;&nbsp;&nbsp;&nbsp; The following example won't compile on my installation of 8.2 ! &nbsp; &nbsp; <img src="http://forums.ni.com/attachments/ni/170/225670/1/ClusterErr.jpg"> &nbsp; Cheers.Message Edited by tbd on 01-23-2007 09:21 PM ClusterErr.jpg: http://forums.ni.com/attachments/ni/170/225670/1/ClusterErr.jpg ClusterErr.vi: http://forums.ni.com/attachments/ni/170/225670/2/ClusterErr.vi It fails the same way under LabVIEW 8.0. Clearly something is not handled properly. (Of course I don't quite see the general&nbsp;usefulness to use "to uppercase" on a simple&nbsp;enum. ;)) altenbach wrote: (Of course I don't quite see the general&nbsp;usefulness to use "to uppercase" on a simple&nbsp;enum. ;)) (tbd momentarily ponders: "Why does it seem there's always something Altenbach doesn't quite see?") &nbsp; Oh, gee,&nbsp;do it (enum to upper-case) all the time&nbsp;when I forget and type enumerated-case-values in all upper-case. :smileywink: &nbsp; &nbsp; <img src="http://forums.ni.com/attachments/ni/170/225670/1/ClusterErr.jpg"> &nbsp; Indeed it doesn't compile.&nbsp; But the To Upper Case VI handles numbers as ASCII codes.&nbsp; How would converting an enum value of 97 to 65 be useful to you?&nbsp; Are you trying to capitalize the strings in the enum's typedef?&nbsp; A case structur...

Web resources about - How to remove the &quot;int len&quot; of my return string on the DLLS header when building a DLL on LabVIEW 8.5 - comp.lang.labview

Resources last updated: 3/19/2016 9:44:56 AM