VC ++ dll in teststand problem

I have a third party DLL probably DEVELOPED in VC ++. I have even the files .h and .lib for this DLL. I want to study how this DLL can be integrated in TestStand. The problem is that when you use C/C++ adapter the TestStand concludes that a single function in this DLL and it seems to be like Class::Function. I tried to find a solution in this forum, but it seems that the solutions have access to the source code of the DLL.

I know well develop CVI and their use in TestStand DLLs. That is my only method of CVI programming a soul to this DLL if I want to use in TestStand? If I want to communicate with the third party provider, they need to add DLLS in order to get it to work in TestStand?

Kind regards

Petri

Hello

I looked on the dll. Well TS do things. Because the GetVersion is the only public and static function inside your class.

This dll provides a class. I think you should write your own dll-wapper around it. You must create the object next to our packaging. Then you must create wrapper functions when you access the members of the group.

hope this helps

Jürgen

Tags: NI Software

Similar Questions

  • How to get the result of the test of CVI DLLs in teststand!

    I write a driver dll to test a source, I want to get the tension of world SERVERS (the instrument of the RS) and I used to call DLLs that written by CVI, teststand

    My question is what is the best way I can get the result of the test and show the user to teststand. the code below is fair? When I used to call this dll document, teststand

    "" I just get the result by setting in TS.this is a good meathod, and what should you do in teststand, I put the "outputVoltageV" point to an object?

    /*===========================================================================*/
    / * Function: read voltage/current output * /.
    / * End: this function returns the output and actual output voltage * /.
    / * current instrument.                                      */
    /*===========================================================================*/
    ViStatus _VI_FUNC rsngsm_datReadOutput (ViSession instrSession,
    ViPReal64 outputVoltageV, ViPReal64 outputCurrentA, ViPBoolean statusPeakCurrent)
    {
    ViStatus rsngsm_status = VI_SUCCESS;
    Bruno buf [BUFFER_SIZE];
    ViInt32 retCnt;
       
    FMT (buf, "%s<>
    If ((rsngsm_status = viWrite (instrSession, buf, NumFmtdBytes (), & retCnt))<>
    Return rsngsm_status;
           
    If ((rsngsm_status = viRead (instrSession, buf, 50, & retCnt))<>
    Return rsngsm_status;
    If (Scan (buf, "%s > %f [p2];")) %f [p2]; %i [b2] ", outputVoltageV, outputCurrentA, statusPeakCurrent). = 3)
    Return rsngsm_status;
           
    Return rsngsm_status;
    }

    sean_tan,

    Yes, you just pass a value of digital TestStand (e.g.; locals.number).

    If you use the adapter of the ICB, it might make more sense that you can use the Flexible DLL adapter for this type of function, that you do not use the standard settings of tTestData and tTestError. While TestStand will correctly recognize the function prototype, you want to make sure you that include the type library of your function Panel (you will need to create one if you have not already done so) in settings target of LabWindows / CVI-> type library.

    I hope this helps.

    -Jack

  • {run DLL} There is PROBLEM BEGAN of runDLL "C/USERS/OWNER".

    I get this error message... why?  "

    {run DLL} There is PROBLEM BEGAN of runDLL "C/USERS/OWNER".

    I understand that you get a relative to a runDLL error message.

    What is the number of product of the laptop?  This can is usually located on the label on the underside of the laptop or in the battery compartment.  This label should also contain the serial number.

    NOTE: Provide NOT the serial number.

    What OS is the system using?  For example, Windows 7 or Windows Vista.

    What happened after that a particular program has been installed or uninstalled?

    RunDLL errors can be the result of malware.  Do you have scanned the system for malware using an updated anti-virus program?

    It happens in a clean boot state?  This document explains how to enter in a clean boot state.

  • Passing an exit from a DLL to TestStand

    I need to convert a VI in a DLL that will be used to the TestStand. The VI takes a delimited string of TestStand, it truncates a given length and retransmits it. The VI works fine in the sequence, but when I built it as long as DLL, it fails to return the output to TestStand. I don't really know if the problem lies in the settings of step TestStand, or how I built the DLL. Here are a few screenshots. Also, the length of the strings passed in is variable and I don't know what size to set the size of the len.

    Hi Drewsali,

    What I understand from your question, you have a string entry who went from Teststand, LabVIEW and Teststand back. Len determines the amount of memory of the input string for the transfer of LabVIEW. One possible suggestion would be to define a local variable that is equal to the size of your input string, and then to set the buffer Len equal to this variable so that it passes the size of the string each time. If you do not want to redefine the size of the buffer len whenever you enter a string, just make sure that you allocate enough memory for the largest input string you will be entered. Good luck with your project!

    Kind regards

    Jackie

  • Call a DLL in TestStand by reference

    All,

    I developed a DLL that control a USB based power. The call of the dll works from TestStand 4.1 most of the time. What I think is happening, is that whenever I call the dll in my main sequence of the file as well as other files in sequence, as several instances of the dll is loaded.

    Part of the init of food must pass back a SESSION number that is used in subsequent calls to the dll. I store as a global variable in TestStand and pass around sequence that never he needs.

    How can I load the DLL at the beginning of the sequence and PASS a reference (handle) to all other calls to the dll?

    Thanks in advance

    Carmine

    Doug,

    Thanks for your help. I found a UnLoadModules() in one of the child seq that I missed. Unless I missed all the others, I think this should be resolved.

    Carmine

  • Message Popup Teststand problem

    Hello

    Sorry my English ist not perfekt:smiley sad:

    I have created an opportunity to make a choice of 5 elements (Foto) message, so that when if you selected Can1, Can1 be run only and to achieve this, I have to go to properties-> Expression-> Post to write a condition expression where declared Locals.CanType is equal to one of the buttons

    in an example Teststand "computer6" I saw him on the writing of this expression term Post Expression:

    Locals.CPUType = ((Step.Result.ButtonHit == 2) 'AMD': "INTEL") <  this="" condition="" is="" valid="" for="" 2="" buttons="">>

    The problem is: How can I write a condition on the expression of valid position for 5 buttons that is to say that we must choose between the CanX, Can1, Can2, Can3 or Can4.

    Thanks in advance


  • Reliablity of the use of the CVI DLLs in testStand

    Hello

    I wrote a file .dll using the ICB and tries to use the functions available in aid TestStand. I get strange errors, not always but when I run TestStand. Here is my code in the dll.

    int GetAverage (double* aBuffer, unsigned int aSize, double* aAverage)
    {
        double total = 0;
        enum t_eErrorCode eErrorCode = 0;
    
        if(aSize <= 0)
        {
            eErrorCode = eARRAY_SIZE_ZERO;
            goto Error;
        }
        for(int i = 0; i < aSize; i++)
            total += aBuffer[i];
        *aAverage = total / (aSize);
    Error:
        return eErrorCode;
    
    }
    

    He sometimes throws only an eError_SIZE_ZERO error, but when I checked in the debugger TestStand, size sent to the function was not a nullity (see attachment).

    What can be the reason or what I am doing wrong?

    Thanks in advance,

    RB

    Hello

    This link should help you with debugging.

  • When Windows starts, get this uncdms.dll error message problem

    Uncdms.dll error appears at the beginning upward. How can I fix it?

    original title: uncdms.dll problem

    If you really want to (I don't think that it is very good and it takes a lot of system resources):

    http://www.Microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=55c18cb3-c916-4298-aba3-5b98904f7cda

    MS - MVP - Elephant Boy computers - don't panic!

  • Malwarebytes crash showing MSVCR100.dll as the problem (logs attached events)

    work on a computer running windows 7 Home premium 64-bit, and according to the owner on the 16th malwarebytes began to break up the dialog box just says that the program had planted and windows must close, no information error or something. so I pulled the event logs and it shows MSVCR100.dll as the culprit, however. There are more than 30 different files with the same name. and most are in different program folders, malwarebytes is the version and MD5 info for anyone who is in my computer (I also use malwarebytes) I run a complete scan with TrendMicro housecall thinking it might be something hidden in there but he found nothing.  I tried to run the Chameleon of Malwarebytes, but when it launched the program it will fail the same way.  I have the event logs loaded on my skydrive http://1drv.ms/1lUZtLu I would appershate if someone could watch them over and see if I missed something.

    the steps I tried to correct the problem

    1. uninstalled and reinstalled the program
    2. full scan with TrendMicro Housecall (64-bit)
    3. system restore
    4. reinstalled the program
    5. taken from the installation of a known working installation directory

    My next recourse must have the operating system offline (using UBCD) and execution of an Analyzer of virus of rescue,.

    i have a new appointment with the customer on 19 for this.

    If anyone has any suggestions for this problem it would be great, I have not had this problem before.

    Thanks to all those who help.

    Dustin J.

    Log name: Application
    Source: SideBySide
    Date: 23/06/2014-07:29:07
    Event ID: 63
    Level: error
    Description:

    Activation context generation failed for "c:\program files (x 86) \spybot - research & destroy\DelZip179.dll. Manifest error or policy file "c:\program files (x 86) \spybot - search & destroy\DelZip179.dll" on line 8. The value ' * ' attribute 'language' in the "assemblyIdentity" element is invalid.

    Please refer to: http://community.spiceworks.com/windows_event/show/824-sidebyside-63

    Log name: Application
    Source: SideBySide
    Date: 2014/06/23 07:27:25
    Event ID: 33
    Level: error
    Description:
    Activation context generation failed for "c:\program files (x86)\emachines\registration\GREG.exe. Load Assembly Microsoft.VC90.MFC, processorArchitecture = "x 86" publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "9.0.21022.8" was not found. Please use sxstrace.exe for detailed diagnosis.

    A complicated situation: http://blogs.msdn.com/b/dsvc/archive/2008/08/07/part-2-troubleshooting-vc-side-by-side-problems.aspx

  • Conversion of shares CVI to C + c++ / action dll in TestStand 4.2.1

    Hello

    I have a sequence that contains the Actions of the CVI and C + c++ / .dll Actions throughout the sequence.  I would like to convert all the shares of the CVI in C ++ / actions .dll without having to create a new stage and copy and paste all the parameters, not the names, expressions, etc.  It would be a huge task to do.  I'm looking for is still possible?  Basically, it would be ideal if I could just change the action of the AIC to a C + c++ / .dll Action in a time given everything by keeping all parameters of the same module.

    Thanks in advance,

    J Korn

    Select the step

    Go to the Properties tab

    Click general

    Change adapter: for C/C++ DLL

    You can select several steps and do it once for each of them.

    Hope this helps,

  • DLL for teststand



  • TestStand can not find that all exported DLL functions

    Hi all

    My problem is the following:

    I have a DLL that I compile with Visual Studio with 40 functions. When I want to use this DLL in teststand, there are two missing functions. If I check with the dependency walker, the 2 missing function in teststand tool are well implemented.

    The missing function prototype:

    struct HModemBoardOpaqueType * mbCreateModemBoard (void)

    Good function prototype:

    enum UbtDllErrorCode mbDisconnectFromModemboard(struct HModemBoardOpaqueType *)

    Is that possible that teststand does not structure opaque type correctly?

    If I export my function type C (with extern C) no function is missing from the test bench

    Thank you

    What version of TestStand do you use? Older versions of TestStand only supported zero, digital and Boolean data types for the return values of the adapter of the dll. More recent versions of TestStand are now supported pointer/handle as well. New versions of TestStand I expect you can use such a prototype with the handle/pointer data type. However, if you want to convert this struct to an equivalent TestStand custom data type, you need to make a parameter instead of a return value, as the card does not support the conversion of struct for return values.

    Basically returning a struct pointer this way (as return value) is dangerous in C/C++, because it is not possible to know who owns the memory. The type of pointer/handle allows you to do anyway, but it must be properly to maintain life of memory return you at a lower level (i.e. maybe with an exported function that uses the pointer who knows how free it).

    Hope this helps,

    -Doug

  • DLL to 6008 OR teststand

    Hello

    Since 2 days I struggled to find a dll or lib that I can use without any problems for control card NI USB-6008. I don't know if it is possible to order usb teststand.

    All I could find was:

    - NIDAQmx.lib file. When I tried to use most of the function with test bench, giving following error "user information parameter type or not recognized by teststand.

    - NationalInstruments.DAQmx.dll , which is a .net dll. The problem here is that if I need to call a function within a subclass of a class (for example class X has an object of class Y and I call x.y.functionInsideY ()) which is not possible in TestStand (?).

    Please report if you know the solution.

    Concerning

    RB

    Hi RB,.

    the problem we have here, is that Teststand isn't a programming language and you can't communicate with the hardware directly. It will not work.

    It seems to me that you want to communicate with the hardware driver (in this case DAQmx) in Teststand. This isn't how it works.

    What you have to do is to write a module of code in CVI or .net, which interface with the driver and acquires data. Then you create a dll or a this code .NET assembly and that is that you can include in Teststand. You have encapsulated in the dll or Assembly pilot communication and Teststand calls just this 'wrapper '.

    Cheers, RMathews

  • Equium M50-244: loop problem internal ati2dvag.dll

    I had a M50-244 XP Home Edition (sp2) who have ATI onboard until I uninstalled it completely. The laptop has become totally useless vomit ati2dvag.dll inner loop problem and nothing seemed to heal so I decided to completely get rid of ATI.

    It started with VGASAVE which, with a few adjustments, work is fine and so my machine now. I disabled the video as controller he kept coming up with "new hardware found" and I didn't load the drivers more who would do what he started crashing again.

    Currently its on 'test' and I'm doing everything possible to see if it will crash once again, I hope not.

    Maybe I need another driver and activate the video controller, but I am hated for doing anything more now that his works normally, finally!

    Some said the installation of the graphics driver on the site omegadrivers.net and improves the performance of the graphics card.
    Maybe an installation of the driver from the site could be useful.

    Check it out

  • Try to create a DLL from VI to use TestStand.

    I try to create a DLL on an existing file in VI.  The VI has 4 inputs and 3 outputs.  If I go to tools > Build Application and select the target Build as a "Shared Library (DLL)" I have a dll after construction; but when I try to call this DLL to teststand, it doesn't recognize the inputs or outputs.  How to build a DLL so that teststand will recognize the inputs and outputs?


Maybe you are looking for

  • Gmail for business does not check user name and password

    I read all the information of support here. However, my email is based on my domain name - [email protected]. Despite the use of the stmp.gmail.com and imap.gmail.com by manually configuring account information, TB keeps questioning www.a2hostin

  • NB100 - how to upgrade the BIOS using Linux

    I have searched all afternoon to update the bios on my linux and could not find one thing that works. Someone did he do with the more technical?Any help or walk through would be great

  • Liaison GPIB CVI 2009 real-time error

    The code of source GPIB only call the ibdev function. ibdev (0, 1, NO_SAD, T10s, 1, 0); When I tried to compile the code source GPIB CVI 2009 real-time, I received the error message following link. Project link error: Symbol not defined "__imp__GetCu

  • Latest CD of music 2or3 deform after a time

    Successfully burned CD quality music and played ok, but after a long enough period of time that the final tks are only beginning to skew bad - why is this and is the so-called "rotten CD? ..... Thanks John [Moved from the community centre of Particip

  • HP 15-r006tu Notebook PC: cannot change screen saver.

    Hello I'm not able to change the screensaver of my lappy, while trying to change his display some message "screen saver can't run because it requires a newer video card or one who, s compatible with Direct3D. Also I am not able to adjust the brightne