How to create a dll in LabVIEW with a 2D array
I'm attempting to create a dll in LabVIEW with the following parameters from Test DLL.vi:
Inputs:
IN1 - Word
Buffer - 2D array of Unsigned Byte
Output:
OUT1 - Unsigned Byte
The prototype is constructed as follows in the Build Specifications of the Project:
uint8_t TestDLL(int16_t IN1, TD1Hdl *Buffer)
The dll builds successfully but when I attempt to use it in another VI (using the Call Library Function block) the prototype appears but it does not look like what was defined from the Build Specifications. Instead it looks like the following:
void TestDll(void );
I attached some screen shots of all the settings as described above.
Attachments:
Test DLL Front Panel.JPG 85 KB
DLL Prototype Before.JPG 84 KB
DLL Prototype After.JPG 54 KB
The Test DLL.vi is what I used to create dll prototype with in the Build Specifications in the project.
Note: There is no logic implemented yet.
Attachments:
Test DLL.vi 7 KB
Similar Messages
-
Can I create a dll from labview with more that one function name
I know that when I create a dll from C and then call it in labview using the call library function node I can see the different functions on the configuration screen. Is there a way to create a dll in labview to have more than one function name? No matter how many functions happen in my VI it seems to build into a dll under the same function name requiring inputs for every function, can this be avoided somehow?
Thanks,
DaveEach function corresponds to a separate VI. When creating the dll, on the Source Files tab of the app builder, click the Add Exported VI for each VI that you want. SubVIs of a main are not automatically exported and will not be available as separate function calls.
-
How to create a DLL for LabVIEW in MatLab
I want to use MatLab-Code from an M-file in LabView without MatLab. So i decide to use external code in a DLL. Can anybody give me some hints - how to do? (How to create, how to use?)
Used System Windows 98, LabVIEW 6.1, MatLab 6.1 R12.1
ThanksHi,
I use Matlab-Code in Labview and it's don't need create a dll. The LV was a tool, matlab script, you can write your code Matlab here. see the examples of LV.I think the lV 6.1 have.
Dll it's very complicated -
Creating a DLL in labview that interacts with a DLL in C++
I’m creating a DLL in LabView that will interact with a DLL created in C++. I don’t have control in the C++ DLL.
Both DLLs would pass a big amount of data as strings between them, for that it is necessary to allocate memory to store information in one dll and read it in the other and viceversa. The first time I will call the other DLL, with this function :
long in texts ( unsigned char *name, void *id)
I would pass them a pointer pointer to an ASCII string (name) and a pointer to an unspecific data structure (id). The id would then be passed to me by his DLL whenever they use one of the functions implemented on my dll.
What I don’t know is what to pass as a void*id? What are they expecting? A number? A cluster?
The other thing I don’t know is how to allocate memory in labview and write there information, such as a string, and then tell the other DLL to look for the information at that DLL, and viceversa. I hope I made my self clear, hope somebody can help me, and please indicate me if you need more informationHello Osvaldo,
I analysed the updated tutorial you sent me, but the thing is that it doen't show how to create the DLL in LV 8.6 but only show how to accessing the DLL from VB6. My problem is really HOW TO CREATE THE DLL IN LV8.6. In the link http://zone.ni.com/devzone/cda/tut/p/id/3063 there is detailed information about how to do this in LV6.x, the problem is that I don't find the path Tools»Build Application or Shared Library (DLL) in LV8.6, I think the procedure in LV8.6 is a little bit different. Don´t you have an updated tutorial on how to build a dll in LV8.6?How could you help me?
Kind regards.
João Júnior -
How to create a .DLL file from a .C file ?
Hi everybody
I'm looking for a method how to create a .DLL file from a .C file .That Dll file will be used to perform a board to measure voice quality accoding to the international standard named PESQ (perceptual evaluation of speech qualty) P.862.
Can anyone help to start dealing with Dlls and give some advices to avoid errors ?
thx
Attachments:
source.zip 37 KBHi sinaps,
You mention that you want to create a DLL from a .C file. Just to clarify, are you using C (.c file) or C++ (.cpp) to write your code?
Also, if you are using C++, are you using Visual Studio? (The reason I ask is because this forum is geared towards Measurement Studio, which is an add on to Microsoft Visual Studio).
That being said,
If you are using C: National Instruments provides an ANSI C Application Development Environment called LabWindows/CVI which makes building dlls a snap. It has templates for DLLs and you can build them either as stdcall or cdecl dlls.
Developer Zone Tutorial: Building a DLL with LabWindows/CVI 8.5 for use with LabVIEW 8.5
If you are using Visual C++: Look at the link that Al provided earlier.
MSDN: Walkthrough: Creating and Using a Dynamic Link Library
If you aren't using CVI or Visual Studio, then really the best bet is to do a google search for "Create C DLL" or post or a forum for the appropriate environment that you are using.
Thanks!
Message Edited by Jervin_J on 03-14-2009 02:02 PM
Jervin Justin
NI TestStand Product Manager -
Creating a DLL in LabVIEW containing a function using pointer to pointer
Hi!
I´m facing the problem to create a DLL from LabVIEW containing the following C-function:
functionF(structS** arrayA) ,
where:
structS is a struct of various data-types (e.g. int)
arrayA is an C-array of structS
How can this be done? Any ideas?
Thank you in advance for your supportThis cannot be done in LabVIEW. LV doesn't have the data type "Pointer" as C has.
The only workaround I can think of is to use an array of strings in LV and in the interface define the parameter as "by reference". In LV you have to typecast the wire with the string to a cluster withthe layout of structS.
As far as I know an array of strings is represented as an array of pointer to strings. This is because strings are variable in length and therefore LV uses this method storing the pointers to the strings in the array and not the elements as usual.
You have to read the document about memory and data types of LabVIEW. In elder versions this was in the LabVIEW Bookshelf but I haven't found it in short in the newer version.
Waldemar
Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions -
Creating a DLL in Labview 8.6 and calling it from Visual Basic 6.0
Dear friends,
I need to create a DLL in Labview 8.6 and call it from Visual Basic 6.0. The system works as follows:
I made an application using Labview 8.6 + Vision Assistant 8.6 where I can obtain the x,y coordinates of a template in an certain image being captured by an USB camera. The template coordinates change every time it moves and Visual Basic 6.0 must read these x,y values in real time. I found some information in the link http://zone.ni.com/devzone/cda/tut/p/id/3925, but it works for version 6.x of Labview and 8.6 version is different. Am I in the right path? If you have an updated tutorial like the one in the link above but for Labview 8.6 It would be very nice. Please help me.
Kind regards.
João JúniorHello Osvaldo,
I analysed the updated tutorial you sent me, but the thing is that it doen't show how to create the DLL in LV 8.6 but only show how to accessing the DLL from VB6. My problem is really HOW TO CREATE THE DLL IN LV8.6. In the link http://zone.ni.com/devzone/cda/tut/p/id/3063 there is detailed information about how to do this in LV6.x, the problem is that I don't find the path Tools»Build Application or Shared Library (DLL) in LV8.6, I think the procedure in LV8.6 is a little bit different. Don´t you have an updated tutorial on how to build a dll in LV8.6?How could you help me?
Kind regards.
João Júnior -
How to create a custom function module with the records in SAP R/3?
Hi All,
How to create a custom function module with the records in SAP R/3? Using RFC Adapter I have to fetch the custom function module records.
Regards
SaraHi
goto se37...here u need to create a function group... then u need to create a function module. inside assign import/export parameters. assign tables/exceptions. activate the same. now write ur code within the function module
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm
Look at the below SAP HELP links, These links will show you the way to create a Function Module
http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm -
How to create Using Formatted Text Field with multiple Sliders?
Hi i found the Java Sun tutorial at http://java.sun.com/docs/books/tutorial/uiswing/components/slider.html very useful, and it tells how to create one Formatted Text Field with a Slider - however i need to create Formatted Text Field for multiple Sliders in one GUI, how do i do this?
my code now is as follows, and the way it is now is scroll first slider is okay but scrolling second slider also changes value of text field of first slider! homework due tomorrow, please kindly help!
// constructor
label1 = new JLabel( "Individuals" );
scroller1 = new JSlider( SwingConstants.HORIZONTAL, 0, 100, 10 );
scroller1.setMajorTickSpacing( 10 );
scroller1.setMinorTickSpacing( 1 );
scroller1.setPaintTicks( true );
scroller1.setPaintLabels( true );
scroller1.addChangeListener(this);
java.text.NumberFormat numberFormat = java.text.NumberFormat.getIntegerInstance();
NumberFormatter formatter = new NumberFormatter(numberFormat);
formatter.setMinimum(new Integer(0));
formatter.setMaximum(new Integer(100));
textField1 = new JFormattedTextField(formatter);
textField1.setValue(new Integer(10)); //FPS_INIT
textField1.setColumns(1); //get some space
textField1.addPropertyChangeListener(this);
//React when the user presses Enter.
textField1.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "check");
textField1.getActionMap().put("check", new AbstractAction() {
public void actionPerformed(ActionEvent e) {
if (!textField1.isEditValid()) { //The text is invalid.
Toolkit.getDefaultToolkit().beep();
textField1.selectAll();
} else try { //The text is valid,
textField1.commitEdit(); //so use it.
} catch (java.text.ParseException exc) { }
label2 = new JLabel( "Precision" );
scroller2 = new JSlider( SwingConstants.HORIZONTAL, 0, 100, 8 );
scroller2.setMajorTickSpacing( 10 );
scroller2.setMinorTickSpacing( 1 );
scroller2.setPaintTicks( true );
scroller2.setPaintLabels( true );
scroller2.addChangeListener(this);
textField2 = new JFormattedTextField(formatter);
textField2.setValue(new Integer(10)); //FPS_INIT
textField2.setColumns(1); //get some space
textField2.addPropertyChangeListener(this);
//React when the user presses Enter.
textField2.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "check");
textField2.getActionMap().put("check", new AbstractAction() {
public void actionPerformed(ActionEvent e) {
if (!textField2.isEditValid()) { //The text is invalid.
Toolkit.getDefaultToolkit().beep();
textField2.selectAll();
} else try { //The text is valid,
textField2.commitEdit(); //so use it.
} catch (java.text.ParseException exc) { }
// State Changed
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider)e.getSource();
int fps = (int)source.getValue();
if (!source.getValueIsAdjusting()) { //done adjusting
if(source==scroller1) {
System.out.println("source ==scoller1\n");
textField1.setValue(new Integer(fps)); //update ftf value
else if(source==scroller2) {
System.out.println("source ==scoller2\n");
textField2.setValue(new Integer(fps)); //update ftf value
} else { //value is adjusting; just set the text
if(source==scroller1) textField1.setText(String.valueOf(fps));
else if(source==scroller2) textField2.setText(String.valueOf(fps));
// Property Change
public void propertyChange(PropertyChangeEvent e) {
if ("value".equals(e.getPropertyName())) {
Number value = (Number)e.getNewValue();
if (scroller1 != null && value != null) {
scroller1.setValue(value.intValue());
else if (scroller2 != null && value != null) {
scroller2.setValue(value.intValue());
// ACTION PERFORMED
public void actionPerformed(ActionEvent event) {
if (!textField1.isEditValid()) { //The text is invalid.
Toolkit.getDefaultToolkit().beep();
textField1.selectAll();
} else try { //The text is valid,
textField1.commitEdit(); //so use it.
} catch (java.text.ParseException exc) { }
if (!textField2.isEditValid()) { //The text is invalid.
Toolkit.getDefaultToolkit().beep();
textField2.selectAll();
} else try { //The text is valid,
textField2.commitEdit(); //so use it.
} catch (java.text.ParseException exc) { }
...if :p3_note_id is null
then
insert into notes (project_id, note, notes_month, notes_year) So, p3_note_id is NULL.
Another option is that you have a trigger on table NOTES that generates a new note_id even for an update. -
How to Create an Input Schedule Comparison with Data Using EVDRE
Hello,
I try implement the scenario described in "How to Create an Input Schedule Comparison with Data Using EVDRE".
Once I am using the "Insert Function" from the panel and selecting the EVTIM function Excel crashes (see page 8 How to paper).
Systems:
BPC 7.0 NW SP02
Office 2007
BPCADminClient and BPCOfficeClient up to date
Have anyone a solution?
Thanks
OktayHi Oktay -
This function works in my BPC70NW SP02 system. Your issue might be that you are trying to access a TIME member that does not exist. Please make sure the offset value is a valid dimension member.
I can confirm that EVTIM does allow the offset for base members (such as 2009.MAY) as well as parent nodes (such as 2009.Q1 or 2008.TOTAL)... BUT...the offset result of the EVTIM function needs to be a valid dimension member!
Regards,
Sheldon -
How to create user editable Crystal Report with dynamic dataset
What I would like to achieve:
A program loads a report in runtime updates list of database fields (possibly includes sample data), open report in "Crystal Reports 2011" (or 2008) where user customizes report and saves it. Later on the program loads the report, fills actualized data and displays it in .net report viewer.
What I do:
CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument
CrReport.Load(TemplateFilename)
Dim Results As DataTable
DataTable is filled from a database
CrReport.SetDataSource(mResults)
CrReport.SaveAs(NewReportPath, True)
The NewReportPath is opened in the default program.
What are the problems
The report is open in preview mode (not in design).
When the field is added to the report the designer asks for XML datasource on preview.The short answer is that it is not possible. I broke the question to other two: How to save a report that it opens without preview? and How to create user editable Crystal Report with dynamic dataset, where it is possible to find details. Key answer is Re: How to create an editable previewable report?
-
How to creat the Varient for 1099MISC With Holding Tax
How to create the Variant for 1099MISC With Holding Tax ?
HI,
please follow the below steps to create variant at report.
tcode se38
report RFIDYYWT
pass all the parameters
press save icon
give variant name
retrive the variant in report
tcode se38
report name RFIDYYWT
press : shift + F5
or get varinat icon.
I hope above will resolve your issue.
Regards
Madhu M -
How to create new view without interlinking with gantt chart or resource views
ok clear
one another question
In msp how to create new view without interlinking with gantt chart or resource viewsHi Shiv PMC--
I splitted your question above in another thread in order not to have a huge thread with many topics in it.
That being said, I'm not sure to understand. A view is just a manner to display MS Project data with columns. A view can have a table with column (left part) associated with a Gantt chart. It can also just contain a table with no Gantt chart (like the task
table) or a table with a timephased grid (resource and task usage).
Please give us more information, maybe with a concrete example so we can help you.
Hope this helps,
Guillaume Rouyre, MBA, MVP, P-Seller | -
How to create labeled table of Content with expand and collapse
Hi All,
Can somebody help me how to create labeled table of Content with expand and collapse as example given below:
User1
Template1
Template2
User2
+
User3
Template1
Template2
Like when we see expand (+) and collapse (-) button when we click on 'about this page' link.
Thanks
BhupendraHi,
Tou can use Table inside table to show the details this way but I'm not sure about Expand/Collapse.
Expand/Collapse are part of HGRID.
I think we can develop this functionality with little manipulation.
Regards,
Reetesh Sharma
Edited by: Reetesh Sharma on Jun 28, 2010 4:56 AM -
How to create tcode for modulepool program with selection screen?
hi,
How to create tcode for modulepool program with selection screen?
thanks,
sagarHi,
We need to goto SE80.
In our program we right click on object name and goto create
-> transaction. Enter the module pool program and screen number and save and activate.
Or by SE93 also we can create a transaction code for our program.
Hope ths helps.
plz reward if useful.
thanks,
dhanashri..
Edited by: Dhanashri Pawar on Jul 22, 2008 8:29 AM
Maybe you are looking for
-
How to call an abap report in BSP..
hi all, Please can anybody tell me how to call an abap report in BSP application.....since I am new to BSP.... with regards, Santosh
-
How to view hidden user files and reset permissions
I am having difficulties getting the hidden files to appear first of all. I have tried a couple of different things that have been suggested in other posts. And I would really like a point in the right direction to find information on resetting permi
-
Hi everyone - I have a client who's sending me MPEG files to edit which have a very strange configuration. First, QT or FCP cannot read them (saying there is no valid movie content on it). When I open it on VLC, it plays well, but all 4 audio tracks
-
BB keys not working/now not switching on
I'll try & explain it as clear as I can, a few things seem to be going wrong! I have a PAYG Orange BB 8520 & last night the whole thing went a little mad. I was typing a message & I noticed when I pressed the keys, the wrong letters were showing up.
-
Query on Sales Document Condition (2LIS_11_VAKON)
Hello Gurus, I want to report on sales order conditions. Hence I have used 2LIS_11_VAKON. But I m unable to find KNUMV(Number of the document condition) and KPOSN(Condition item number) in the datasource. Because of this my records "transfered" and "