Labview + opencv

Hi,
I'm working on a project in LV 2009 and I'm trying to use an opencv dll for facetracking. The problem is that I keep getting an error massage (1097), and I can't figure out what the problem is. Here's the C code for the dll and the block diagram. When I start it, it asks for a webcam, but then it shots down. When I run the facedetection on a static image it works well, but it doesn't work with the webcam. I think the easiest solution could b if I could take a snapshot in labview, and then send the static image to the dll, but I couldn't manage to make the webcam snapshot static.
Could anyone help me?
Thanks,
botond
 the C code:
int __stdcall arc_3 (IMAQ_Image *LVImage, char* LVImagePtr,int LVLineWidth,int width, int height, bool key)
    CvCapture* capture = cvCaptureFromCAM(0);
    CvMemStorage* storage = cvCreateMemStorage(0);
    CvSeq* faces; CvSeq* eyes; CvSeq* mouth;
    ImageInfo *src;
    IplImage *frame;
    src=(ImageInfo *) LVImage->address;
    frame = cvCreateImageHeader( cvSize(width, height), IPL_DEPTH_8U, 1);
    frame->imageData = LVImagePtr;
    frame->widthStep = LVLineWidth;
    do{
    frame=cvQueryFrame(capture);
    faces = cvHaarDetectObjects( frame, cascade_face, storage,2.0, 3, 0, cvSize(70, 150), cvSize(300, 400)); //arcdetektálás
    CvRect *r = (CvRect*)cvGetSeqElem(faces, 0);
    cvRectangle(frame,cvPoint(r->x, r->y),cvPoint(r->x + r->width, r->y + r->height),CV_RGB(255, 0, 0), 1, 8, 0); //arcrajz
    cvSetImageROI(frame, cvRect(r->x, r->y + (r->height/5.5), r->width, r->height/3.0)); //region of interest
    cvClearMemStorage(storage);
    eyes = cvHaarDetectObjects(frame, cascade_eye, storage, 1.15, 3, 0, cvSize(35, 25), cvSize(60, 40)); //szemdetektálás
    CvRect *b = (CvRect*)cvGetSeqElem(eyes, 0);
    for(int i = 0; i < (eyes ? eyes->total : 0); i++ ) //szemek rajzolása
        CvRect *e = (CvRect*)cvGetSeqElem(eyes, i);
        cvRectangle(frame,cvPoint(e->x, e->y),cvPoint(e->x + e->width, e->y + e->height),CV_RGB(255, 0, 0), 1, 8, 0);
    cvSetImageROI(frame, cvRect(r->x + (r->width/4.0), r->y + (r->height/3.0), width/2.0, height/2.0));
    cvClearMemStorage(storage);
    mouth = cvHaarDetectObjects(frame, cascade_mouth, storage, 1.15, 3, 0, cvSize(25, 15), cvSize(100, 50)); //száj
    CvRect *m = (CvRect*)cvGetSeqElem(mouth, 0);
    cvRectangle(frame,cvPoint(m->x, m->y),cvPoint(m->x + m->width, m->y + m->height),CV_RGB(255, 255, 255), 1, 8, 0);
    *((ImageInfo *) LVImage->address)->imageStart=(ImageInfo *) frame->imageData;
    ((ImageInfo *) LVImage->address)->pixelsPerLine=frame->widthStep;*/
    cvClearMemStorage(storage);
    cvReleaseCapture(&capture);
    cvWaitKey (0);
    }while (key = true);
    cvReleaseCapture(&capture);
    return 0;
Attachments:
lv.JPG ‏17 KB

Hi,
thanks for the help, I already checked and tried every variation of calling the dll... The problem is that this is basically a face detector program with a webcam, which means it should run continuously, but it doesn't. The dll gets data about the webcam picture (size, depth, etc.), because it needs them to create an exactly same kind of image than the webcams. When the dll part "starts", it asks for a camera, I tell it which one to use (obviously the same as for the LV part), but then it sends me the 1097 error code, and the program stops (labview does not shot down, but I have to restart it and I need to replug the camera a well). Th LV part works well, it has no trouble with opening or closeing the webcam session. I attached the hole block diagram. (I think the problem might be with the memory and the storage of the opencv, somehow it maybe use the same as the LV)
Thanks,
Botond Spilkó
Attachments:
lv.JPG ‏74 KB

Similar Messages

  • .dll (opencv) working with webcam

    hi,
    I'm trying to run haars-algorithm on my webcam. I use an opencv (VC++) .dll wrapper, but I keep getting an error massage (1097). The problem is possibly with the memory storage or the image type. Could someone help me? (any idea is good because I'm out of them)
    thanks

    Please see this forum for a response.
    http://forums.ni.com/t5/LabVIEW/labview-opencv/td-p/1650770
    David A
    National Instruments
    FlexRIO Product Support Engineer

  • Using OpenCV FileStorage in LabVIEW

    I'd like to use the OpenCV's FileStorage function in the LabVIEW. Mainly because I want to transfer a c++ project to a LabVIEW project.
    But in this case, i can't load the xml file. 
    i tested it in a consolo project, it seems to work.
    here is the code:
    #include <opencv2/core/core.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    using namespace std;
    using namespace cv;
    class myclass{
    public:
    FileStorage f;
    Mat temp;
    int loadfile(){
    f.open("C:\\Users\\Silva\\Documents\\results\\text.xml",FileStorage::READ);
    if(!f.isOpened())
    return -1;
    f["count"]>>temp;
    return 0;
    myclass temp;
    extern "C"{
    _declspec (dllexport) int loadfile();
    _declspec (dllexport) int loadfile(){
    int error_code;
    error_code = temp.loadfile();
    if(error_code!=-1)
    return 0;
    return -1;
    Solved!
    Go to Solution.
    Attachments:
    loadxml.zip ‏11 KB

    I am really sorry, somehow I missed that...
    No error with your code here:
    Best regards,
    K
    https://decibel.ni.com/content/blogs/kl3m3n
    "Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."

  • Using OpenCV library in LabVIEW

    Hello all!
    I'd like to know how can I use some code I wrote in C/C++, using the OpenCV libraries, in LabVIEW.
    Do I have to create a .DLL and load it in LabVIEW? If so, how does LabVIEW handles the different data types, pointers, etc.?
    The script nodes (which I'm not very familiar with) of LabVIEW run C code?
    Any help would be greatly appreciated.
    Thanks in advance!

    Dear Sir,
    I tested Convolution tester.
    In then, I find error message as follows In the attachment
    Please check
    Sincerely yours,
    Bongchan Park
    Attachments:
    convolution_1.JPG ‏167 KB
    DLL.JPG ‏128 KB
    convolution.JPG ‏149 KB

  • OpenCV wrapper for LabVIEW

    Anyone looked at this yet and have any impressions?
    OpenCV wrapper for LabVIEW
    Don

    This discussion is a bit old but at the time some people tried it out. And this.
    Hope this helps
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"

  • Help to make opencv's dll and LabVIEW's Call Library function node understanding each others

    Hi, i have a little problem trying to use a C++ opencv's dll in labview. I wrote a really simple and stupid dll just to try to understand how it works the call library function node. Here the header code:
    #ifdef GENERICDLL_EXPORTS
    #define GENERICDLL_API __declspec(dllexport)
    #else
    #define GENERICDLL_API __declspec(dllimport)
    #endif
    #include "stdafx.h"
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    #include <opencv/cv.h>
    #include <opencv/highgui.h>
    // Questa classe è esportata da Generic DLL.dll
    class GENERICDLL_API CGenericDLL {
    public:
    int Summ(int a, int b);
    int Sott(int a, int b);
    int opencv(int a);
    // TODO: aggiungere qui i metodi.
     and here the .cpp:
    // Generic DLL.cpp: definisce le funzioni esportate per l'applicazione DLL.
    #include "stdafx.h"
    #include "Generic DLL.h"
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    #include <opencv/cv.h>
    #include <opencv/highgui.h>
    using namespace cv;
    using namespace std;
    // Esempio di variabile esportata
    GENERICDLL_API int nGenericDLL=0;
    // Funzioni esportate.
    GENERICDLL_API int Summ(int a, int b)
    return a+b;
    GENERICDLL_API int Sott(int a, int b)
    return a - b;
    GENERICDLL_API int opencv(int a)
    const string ind = "C:\\Users\\sviluppo\\Desktop\\Tuli.bmp";
    const string ind_2 = "C:\\Users\\sviluppo\\Desktop\\Tuli_Gray.bmp";
    //Mat image;
    return 5;
    i can call all the three simple functions in labview with this easy code. No problem at all. If i uncomment the line "Mat image;" the call library function node doesn't work and i receive the error:
    "The library specified for this node cannot be found or cannot be loaded. Right-click the Call Library Function node and select Configure, then choose the correct library name or path."
    I think that is a problem of dependencies between opencv libraries but i dont know how to manage this. Any ideas?
    Thank you for yours time,
    Francesco.

    Hello Francesco,
    I'm having exactly the same problem as you. I created a DLL that I can easily access from LabView. If I add one line and include "imgproc.hpp" (the only one I need), then LV gives me the same error you had. I read the thread Loura linked to, but I don't see how people actually take care of the dependecies (Klemen's examples did not work for me for the same reason, even though I recompiled the .cpp). Could you explain in detail what you did to make it work?
    Thanks

  • OpenCV in LabVIEW

    Dear Folks,
    Can anybody guide me how to access opencv libraries in LabVIEW using .NET Constructor. I already done this and forgot now. Any information is helpful.
    Attached previous sample program FYI.
    Sasi.
    Certified LabVIEW Associate Developer
    If you can DREAM it, You can DO it - Walt Disney
    Solved!
    Go to Solution.

    From your code it looks like EMGU OpenCV Wrapper was used.
    Download it from here:
    http://sourceforge.net/projects/emgucv/
    then you should be able to create code shown above.
    Andrey.

  • Opencv 248 for Labview 2011

    Hi 
    Lots of examples of using labview but working code examples seem to be sparce on the ground - 
    Even though DLL wrapping seems to be the correct means of bridging to opencv most of the code when ran with VS2010 are in need of missing dependcies 
    the LabView CVI approach seems to be deprecated as the examples are based on 2008 versions of Labview none of these work as dependiecies of files are missing 
    all Im looking for is a consistance example of using opencv - can someone point me to a link or a code snippet
    tks
    M

    Hello,
    I am a bit familiar with OpenCV, so I know Mat is not a datatype, but a class.
    I suspect that you did not properly look at the examples at the link I provided. But anyway, here is an example of Canny edge detection .dll (or rather the source code that is used to build the .dll). Plese see the attachment.
    And here is the result:
    P.S.: I always convert image to array in Labview, since I never noticed any performance degradation. You can alternatively use "map pixel pointer" function (this has been discussed on the forum before).
    Best regards,
    K
    https://decibel.ni.com/content/blogs/kl3m3n
    "Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."
    Attachments:
    test.cpp ‏1 KB

  • OpenCV SEGFAULT when using imshow functions

    Hello,
    recently, when I run my OpenCV application on archlinux, I get a segfault when using  OpenCV's imshow() functions for displaying the video output. This still worked some weeks ago and I did not change my code since then.
    The error is related to GTK+ which causes the segfault after OpenCV uses the gtk_init() function.
    This is the stacktrace:
    #0  0x00000000006328a0 in signal ()
    #1  0x00007ffff1dff264 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #2  0x00007ffff1524427 in g_option_context_parse ()
       from /usr/lib/libglib-2.0.so.0
    #3  0x00007ffff1dff80e in gtk_parse_args ()
       from /usr/lib/libgtk-x11-2.0.so.0
    #4  0x00007ffff1dff869 in gtk_init_check ()
       from /usr/lib/libgtk-x11-2.0.so.0
    #5  0x00007ffff1dff899 in gtk_init () from /usr/lib/libgtk-x11-2.0.so.0
    #6  0x00007ffff6a1fa38 in cvInitSystem ()
       from /usr/lib/libopencv_highgui.so.2.4
    #7  0x00007ffff6a20163 in cvNamedWindow ()
       from /usr/lib/libopencv_highgui.so.2.4
    #8  0x00007ffff6a20cfd in cvShowImage ()
       from /usr/lib/libopencv_highgui.so.2.4
    #9  0x00007ffff6a1c7f7 in cv::imshow(std::string const&, cv::_InputArray const&) () from /usr/lib/libopencv_highgui.so.2.4
    #10 0x00000000004187e0 in StereoMatrix::displayImages (this=0x7fffffffd6ff)
        at /home/user/mtdev/src/StereoMatrix.cpp:51
    #11 0x000000000041861a in StereoMatrix::generateStereoMat (
        this=0x7fffffffd6ff, input=..., resizeMat=false)
    I'm running the recent version of OpenCV from the repositories:
    extra/opencv 2.4.6.1-3
    Apart from that my system is also up-to-date.
    Can anyone reproduce this error or has an idea what causes it?
    Thanks

    Hi Thanks for the response
    Still beavering away at this but have made sizeable progress since this post.
    First off I ma looking for solutions within CVI and not LabView but I often find that if there is a solution in Labview then there is often one in CVI so my question becomes.....does Labview allow for capture of a 10 bit image? That is my biggest stumbling block.
    My solution so far involves writing a C wrapper dll for the existing C++ SDK that is supplied with these cards in Visual studio then using it within CVI.
    This works but has been allot of work and as disappointed as I would be to find that there is a simpler solution I would be happy to simplify the code involved in my overall project - and also to put details of the best solution on the forums for others that may be trying to do the same thing!
    Another disadvantage to the curretn method is it is a little slow - I am constantly looking at way of speeding up aquisition of the images. I have no solid numbers but I'd estimate I am working in the region fo around 10 frames a second when working with 10 bit images.
    For 8 bit images the best solution I have found is to make use of the IPP library that is provided by Intel. This hasgreat functions for taking the raw data from the card and presenting it in various ways at high speed. I have written 1 application with this that pulls the informaiton in real time but only at 8 bit as unfortunately there is no 10 bit option.

  • Error 1097 - function works in C++ application, but not in LabView

    Good afternoon,
    I have a C++ OpenCV application that I am trying to port to LabView for a co-worker. The application is fully functional when it's compiled standalone as an .exe. When called from LabView it reports error 1097.
    However, this error is not being caused by not allocating momeory space or the way I am calling the DLL, because I can successfully run the DLL from LabView if I omit one function "findContours(..)" from being called inside my rotuine. Meaning that without this function I can send and receive an Image to my DLL and display it in LabView without a problem. This function is not being called directly from LabView either, it's called inside the main function that is being called by LabView.
    That being said, the function allocates memory on its own for it's internal calculation purposes, I do not know what they are, but I know it works perfectly well in a standalone C++ application. 
    My DLL application consistenly uses 180Mb of memory without any leaks
    My Question is:
    Is it possible that LabView or windows may be preventing the DLL from allocating enough memory (I have 12Gb total)?
    Is it possible to run the DLL as a separate application or in a different configuration that would prevent error 1097 from occuring?
    How could LabView possibly be restricting the DLL?
    Thanks,

    error 1097 means that the function somewhere and somehow overwrote memory areas that LabVIEW monitors as its own during the call. This could be memory buffer function parameters  that are unallocated or to small or stack variables or some other memory areas LabVIEW puts in place around the DLL call when the highest debugging level is selected for the Call Library Node. But lowering the debugging level is not the solution as the function certainly does something that it should not do.
    What that could be is impossible to say without analyzing the actual C source code of the function and possibly all the other functions involved in this as well as all the Call Library Nodes. It could even be that its something that is not even directly evident from the C source code but an effect of some (falsely invoked) optimization from the used C compiler.
    I assume that you have actually a self written wrapper DLL here and that is where I would focus on in my search. It is quite unlikely that the OpenCV source code itself would still contain such errors after that much of time.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to count number of vehicles using image processing tools in LabVIEW

    anyone can give me idea that how to do counting of vehicles using image processing tools

    Hello,
    if camera is stationary, first take an image of the background. Then subtract each acquired image from the reference image. Limit the region of interest - build a mask of the area, where you want to detect vehicles. Use only the pixels that are under the mask for further processing. You probably would need to do some morphological operations (for example dilate) to make the detection more noise-free...
    Maybe you could get more reference images (different time of day) and compare the average intensities of the acquired and the reference image to select the best image for subtraction.
    You could then probably just count the numer of objects to get the number of vehicles.
    You can perhaps also use optical flow to track the vehicles, but you would need to compute some features for example strong corners for each vehicle (check good features to track, http://docs.opencv.org/modules/imgproc/doc/feature_detection.html). Or you can use the new mean-shift tracking library (Labview 2013).
    Hope this helps a bit.
    Best regards,
    K
    https://decibel.ni.com/content/blogs/kl3m3n
    "Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."

  • Is vision development module in labview 8.6. sufficient for real-time image acquisition and analysis using a webcam

    Hi, 
    I'm new to labview and trying to develop an eye-tracker using labview 8.6. It has the vision development module and i was wondering if this was sufficient for real-time image acquisition and processing or would i be needing any other software tools.
    Solved!
    Go to Solution.

    Hello, certainly it is possible and sufficient for real-time tracking!
    About eye tracking - if you need an example, you can find the code here:
    https://decibel.ni.com/content/blogs/kl3m3n/2013/10/08/real-time-face-and-eye-detection-in-labview-u...
    The code uses OpenCV functionalities along with the LabView UI (and some other functions like overlay).
    Hope this helps a bit.
    Best regards,
    K
    https://decibel.ni.com/content/blogs/kl3m3n
    "Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."

  • LabVIEW crashes in calling dynamically linked libraries

    I am using LabVIEW 7.1 for Linux.
    I am interested in writing wrappers around Intel's OpenCV library. The Intel's OpenCV library contains image processing functions. I want to use LabVIEW in order to provide a "glue" for the OpenCV functions.
    Using C, I wrote up edge.c which will display a OpenCV HighGUI (basically a GUI window) and wait for an event from the keyboard before closing. It is a very simple program. It compiles and executes correctly.
    Using a Makefile, I created the Linux shared library .so file around it. A Linux .so shared library is the Linux's equivalent to the Window's DLL. I named the file edge.so .
    When I use LabVIEW's Call Library Function Node, LabVIEW crashed. It just shut LabVIEW down automatically. It did not even display an error message which surprised me.
    From the results of this forum message, I decided to write up a C wrapper around the .so file.
    I wrote up the following code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <dlfcn.h>
    int main()
       void *libhandle;
       int (*edge_func)();
       libhandle = dlopen("/home/elliot/opencv_code/edge_code/edge.so", RTLD_LAZY);
       edge_func = dlsym(libhandle, "main");
       (*edge_func)();
       dlclose(libhandle);
       return 0;
    When I compiled and executed the code, it worked fine.
    Since I want it to run in LabVIEW, I used LabVIEW's Code Interface Node.
    I created a CIN and I have it auto create a C file.
    I wrote the following code using the CIN:
    #include "extcode.h"
    #include <stdio.h>
    #include <stdlib.h>
    #include <dlfcn.h>
    MgErr CINRun(float64 *Numeric);
    MgErr CINRun(float64 *Numeric)
       /* Insert code here */
       void *libhandle;
       int (*edge_func)();
       libhandle = dlopen("/home/elliot/opencv_code/edge_code/edge.so", RTLD_LAZY);
       edge_func = dlsym(libhandle, "main");
       (*edge_func)();
       dlclose(libhandle);
       return noErr;
    When I ran lvmkmf which is the LabVIEW function to create the necessary files, it created the necessary files and the makefile. I ran the makefile and it created the lsb file that is needed.
    I used the CIN to call the lsb file. I ran the vi and again, LabVIEW crashed by closing the LabVIEW window without displaying any messages.
    If anyone can help me, that will be great! I have no idea how LabVIEW is crashing without displaying any messages. I would assume when I used lvmkmf and the makefile to create the necessary files that it would catch any errors that it did not like. Did LabVIEW crashed because it did not like the call to display a GUI window?

    From doing ldd edge.so, the dependencies (at least on the Linux box at work) are:
            libcxcore.so.0 => /usr/local/lib/libcxcore.so.0 (0x40020000)
            libcv.so.0 => /usr/local/lib/libcv.so.0 (0x40117000)
            libhighgui.so.0 => /usr/local/lib/libhighgui.so.0 (0x401ce000)
            libcvaux.so.0 => /usr/local/lib/libcvaux.so.0 (0x401eb000)
            libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40250000)
            libm.so.6 => /lib/tls/libm.so.6 (0x40304000)
            libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40326000)
            libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
            libdl.so.2 => /lib/libdl.so.2 (0x4032e000)
            libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40331000)
            libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x4033e000)
            libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x40593000)
            libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x40601000)
            libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x4061a000)
            libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x4063b000)
            libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x40648000)
            libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x4067b000)
            libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x4068f000)
            libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x406c4000)
            libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x406c8000)
            libpng12.so.0 => /usr/lib/libpng12.so.0 (0x40732000)
            libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40755000)
            libz.so.1 => /usr/lib/libz.so.1 (0x40773000)
            libtiff.so.3 => /usr/lib/libtiff.so.3 (0x40782000)
            /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
            libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x407c3000)
            libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x407c7000)
            libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x407cf000)
            libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x407dd000)
            libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x407f0000)
            libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x407f8000)
            libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4081d000)
            libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x408fc000)
            libexpat.so.0 => /usr/lib/libexpat.so.0 (0x4094d000)

  • Open and close multisim contact with LabVIEW

    Can I open and close multisim contact with labview and read the receptor estatus (p.e. lamp)?
    Thanks.
    Attachments:
    Dibujo.JPG ‏13 KB

    Hi Guddan,
    I created a RFC having a query which is taking a long time to execute. So i want to close RFC connection with portals which is via java connector(JCO) before that query and open the connction again after that query.
    I guess i will need to understand your requirement a little more in detail, as i understand you have an RFC which has a query within to fetch some data and is taking a long time to do so. In the meantime you don't want to keep the connection open?
    My question would be, Is the role of this RFC to only execute the query and fetch the data or does it do something else?
    If it does other things and these are independent of the query execution, then you can span a parallel call within the RFC to execute the query and in the meantime the RFC does the other things (or vice versa) hence reducing the overall time taken.
    If the sole purpose of this RFC is to execute the query, then you will not be able(i mean to say there is no simple and direct way of doing this) to close the connection after the Query is started and re-establish the connection after its execution, for a simple reason that - how will you know if the query has completed it's execution, so that you can establish the connection back.
    Alternate solutions, make this a two way asynchronous call, 1) You invoke the RFC asynchronously and close the connection, the RFC in turn will execute the query and transfer the data to JCO via another RFC call.
    If this needs to be a synchronous call, then you will need to optimize the query to its best.
    Regards,
    Chen

  • LabView Exe Applicatio​n file not launch Excel applicatio​n for report generation

    Dear All,
    I created one LabVIEW application file for report generation (using Excel Template).
    While I run the program in programming mode it works well and create the report file in the specified path.
    After creation of the application file(exe), it gives the correct path of where the excel template is placed. The same path is given to New Report.vi, but it gives the error 'File Not Found'.
    Tell me, is any other configuration required for generating Excel reports? (During exe application mode)
    Give me the solution.
    Thank You
    Jegan.

    Hello,
    Most likely you are encountering a problem of stripping and/or building paths.  Probably the easiest thing to do is put a couple indicators on your front panel for the path or paths you care about, build your exe, and make sure you are really using the path you'd like.  If you always put the report at some deterministic place relative to the exe (that is, even it the exe is moved, it will go with the exe and remain in the same relative path location, then you can use the Current VIs Path funtion found in the ... File I/O -> File Constants palette as a start path (where you will want to strip at least the exe name off of course).
    I think this will bring some clarity to the issue!
    Best Regards,
    JLS
    Best,
    JLS
    Sixclear

Maybe you are looking for

  • How do I Change my personal info if I forgot them

    I forgot my info and was wondering how to either reset it or find out what I had put

  • Application Builder UI

    I have a long list of VIs which are called dynamically. When I include these VIs using the "Add Dynamic VI" button on the Application Builder (6i), it includes them, but strips off the front-panels, which apparently is a bad thing for a dynamically l

  • Custom queries in CMP beans?

    Hi everyone, I need to keep my beans in a tree-like structure... Therefore I need to associate each bean with a path, such as "root.child.child". I would like to implement this method: public Collection findByParent(String parent)       throws Finder

  • Update of table S174

    Hi Guys,                Can anyone tell me how S174 table will get updated. Please don't tell to use the where used list option. I have already checked all those things. I think its a dynamic call. Is there any way to find out where it is used in dyn

  • Error to preview pages firewall blocks connection help please

    Help can not preview my funds are not support and images