How do i call a dll

How do I call a dll
it is call from VB6 this way
SHandle = TMExtendedStartSession(PortNum, PortType, vbNullString)
the first 2 args are 16 bit signed integers
how do i set up the calling of this call to the dll??
i am only vaguly familier with vb.
any example would be really helpful.

tomsch1 wrote:
> my only problem left is i don't understand how to send a NULL as the
> 3rd parameter
In 32-bit Windows a NULL is simply a 32 bit integer with the value 0.
Rolf Kalbermatter
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions

Similar Messages

  • How can I calling LabView DLL within LabView and pass similar Data Types?

    I am trying to use an Instrument Driver, which is created in LabView6.1 as a DLL. At this point I have only LabView to test this DLL. I was wondering, is there easy way to find out what sort of Parameter or Data Type I should be using.
    How can I pass the following data with in LabView:
    LVRefnum as Type?
    LVBoolean as Type?
    TD1 (a structure) as Type?
    It is funny to see that I am able to create a DLL in labview but having trouble calling it within LabView. I thought, it would be easier to test the DLL within the same environment.
    Basically, I am more worried about the VISA calls that are used in the driver to communicate with instrument. Because, there is no link to �VISA32.dll� in
    the header file, is that handled by the LV Run-time engine? I guess more details are needed on using the LabView DLL within LabView from National Instrument Technical Support.
    Attachments:
    RL5000.h ‏1 KB

    A LVRefNum seems to be an unsigned long data type (32bit). You can cast it
    in LV then use that as a parameter to call the DLL. (an Occurrence type
    seems to be a Ulong32)
    When you created the DLL what was the resulting type for the LVRefNum?
    Happy Holidays
    "Enrique" wrote in message
    news:[email protected]..
    > I see...
    >
    > After doing some research, it seems to me that there is no easy way to
    > find out the type of data, other than looking at the header file and
    > have documents like Using External Code in LabVIEW handy. The
    > following information is from that document:
    >
    > LVBoolean is an 8-bit integer. 1 if TRUE, 0 if FALSE.
    >
    > LabVIEW specifies file refnums using t
    he LVRefNum data type, the
    > exact structure of which is private to the file manager. To pass
    > references to open files into or out of a CIN, convert file refnums to
    > file descriptors, and convert file descriptors to file refnums using
    > the functions described in Chapter 6, Function Descriptions.
    >
    > I know you are creating a dll in LabVIEW, but I am pretty sure the
    > information applies as well and is useful. For your dll this can be
    > interpreted that, rather than passing a LVRefnum, try passing the file
    > descriptor.
    >
    > From the header file, is can be deduced that TD1 is a cluster in
    > LabVIEW.
    >
    > You are right in saying that "more details are needed on using the
    > LabView DLL within LabView from National Instrument Technical
    > Support.".
    >
    > Enrique

  • How can i call a DLL file from labview?

    Iam using a sensoray 2601 module.It is given as DLL file(S2600.DLL).How can i call this function from LabVIEW?
    Please Mark the solution as accepted if your problem is solved and donate kudoes

    As far as I can tell problems might occur with the call library function node if the the DLL from visual basic is actually an ActiveX dll if that is the case it seems calling the dll by using the Invoke node is the way to go.
    Have a look at this 
    /sletten

  • How to give call to dll in indesign plugin

    Hello All ,
    I am developing one indesign plugin on Mac OS X 10.4.
    I want to give a call to one dll in pluging code.
    But the problem with mac os x according to my knowladge ,dll need to be build in same project where we are calling that dll.
    That is why I build a xyz.dylib in same project for indesign plugin as one of the target. and I am coping it in Indesignplugin package content that is with release mode build.but dll gets build in debug mode.On Mac OS X I am using dlopen and dlsym call . But I am not able to call a dll present in indesign plugin package content. Any idea How to call a dll in indesign plugin on Mac OS X.Should we need tyo build a xyz.dylib file in release mode ?
    Thanks,
    Pallavi.

    Seems to me I don't understand something, or text format plugin isn't quite well example. But, I got some code from sdk to create layer with automation like this:
    SPErr MakeLayer(void) {
    PIActionDescriptor descriptor = NULL;
    PIActionReference reference = NULL;
    PIActionDescriptor result = NULL;
    SPErr error = kSPNoError;
    error = sPSActionDescriptor->Make(&descriptor);
    if (error)
    goto returnError;
    // Move this to the top of the routine!
    error = sPSActionReference->Make(&reference);
    if (error)
    goto returnError;
    error = sPSActionReference->PutClass(reference, classLayer);
    if (error)
    goto returnError;
    error = sPSActionDescriptor->PutReference(descriptor, keyNull, reference);
    if (error)
    goto returnError;
    error = sPSActionControl->Play(&result, eventMake, descriptor,
    plugInDialogSilent);
    if (error)
    goto returnError;
    returnError:
    if (result != NULL) sPSActionDescriptor->Free(result);
    if (descriptor != NULL) sPSActionDescriptor->Free(descriptor);
    if (reference != NULL) sPSActionReference->Free(reference);
    return error;
    and wrote aeta resource:
    resource 'aete' (16000, "myFile" " dictionary", purgeable)
    1, 0, english, roman,
    vendorName,
    "description",
    plugInClassID,
    1,
    1,
    vendorName " myFormat",
    plugInAETEComment,
    plugInClassID,
    plugInEventID,
    NO_REPLY,
    IMAGE_DIRECT_PARAMETER,
    "create",
    keyMyCreate,
    typeMyCreate,
    "create type",
    flagsEnumeratedParameter
    typeMyCreate,
    "layer",
    createLayer,
    "make layer"
    And what now? Is any better examples?

  • How can i call a DLL file using invoke node from labview?

    I cant call a DDL function using call library function.so plz tell me how to use invoke node and call DLL using invoke node
    Please Mark the solution as accepted if your problem is solved and donate kudoes

    Please stay in the same thread.
    - Cheers, Ed

  • RE: How can I call Windows .DLL components in Java

    Hi, there,
    I have a wondows dll component registered on my server. I want to call this componet in my Java application(Servlet). Could you tell me the syntex or is this possible to do in this way?
    TIA,
    Xin

    Thank you for your reply. Did you suggest using JNI? Since this DLL is a comercial component and we can not recompile or modify it, I donot know how to use it. Could you give me some more detail ?
    Thank you,
    Xin
    You can use either of the load or loadLibrary methods
    in java.lang.System. The library has to be loaded at
    the very beginning of loading of the class , if the
    class were to access any native method in the
    library.
    Hence, it shoud be in a static block.
    Syntax-
    static {
         try{
              System.load("C:\\x.dll");
         }catch( Exception e ) {
              System.out.println(e);

  • How can I call a DLL from Borland C++Builder that was generated by LabVIEW?

    In the linking phase, the linker of Borland C++Builder echoes the message shown below:
    [Linker Error] 'Test.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
    'Test.LIB' was generated by LabVIEW Application Builder and had been verified working well with Microsoft Visual C++

    "Murray Chen" schrieb im Newsbeitrag
    news:[email protected]..
    > In the linking phase, the linker of Borland C++Builder echoes the
    > message shown below:
    >
    > [Linker Error] 'Test.LIB' contains invalid OMF record, type 0x21
    > (possibly COFF)
    >
    > 'Test.LIB' was generated by LabVIEW Application Builder and had been
    > verified working well with Microsoft Visual C++
    Hi Murray,
    Borland C++ Builder uses a .lib format which is not equal with VC++. You
    have to rebuild your .lib by using implib.
    Try 'implib library.lib library.dll' to create a new .lib.
    Greets
    Henrik

  • How to call the DLL writing in Vb6.0 from testsatnd?

    Hi,
    I want to call a dll writting in VB6.0 from teststand. But as i see from the "Step Setting" in teststand, only the C/C++ Dll can be selected in the "adapter" type. I try to use this one as my adapter to call my VB6.0 dll, in result, there is no function can be seen in the "function" tab in teststand.Anyone know how to call the DLL writing in Vb6.0?
    Solved!
    Go to Solution.

    Hi Ivan,
    Just to be sure that your DLL is not wrong
    you have check if all functions are well and present.
    There is  tool called "Dependency Walker"   You can download it at http://dependencywalker.com/ .
    With it you can look "inside" your dll
    If you will see your functions there, you will see them (in my case !!always!!) in TestStand, too.
    Hope this helps 
    Greetings
    Juergen
    =s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=

  • How to call Fortran .dll file that using other library files?

    Hi,
    I am trying to do some arkward tasks using LabView, and I am desperately need help....
     A little bit background:
    1. My co-worker has some code written in Fortran, where he called other libraries (many from CERNLAB or PAW). Those stuffs are pretty powerful in mathmatical calculation and simulations.
    2. In some of my LabView code, I need to call his Fortran source code in order to do some complicated calculations. I have no capablility to translate his Fortran code to Labview (or is it even possible??), so we end up with trying to use "Call library function node" where I just provide input/outputs to communicate with his code. The idea sounds simple enough?
    3. We complie the Fortran code into .dll, and then specifiy the dll in "Call library function node". The first try with a very simple Fortran code, something like c = a+b*a, was sucessful. The dll file and Call lib function worked good. It's sort of proved the concept.
    4. Now I am trying more complicated Fortran code (say Test.dll), which calling other library (.lib files) that using typical "call xxx(a,b,c)" line, and my nightmare started....  It seems nothing was excuted when I call Test.dll in LabView.
    Questions:
    1. How do LabView know if the Test.dll code needs functions from other .lib files? Do I need to copy all the .lib files to a specific folder?
    2. When I create .dll file, for LabView to be able to use it, are there any special requirement on the way the .dll is compiled?
    3. Seems there is mismatch btw the data type in Fortran and LabView. For example, LabView's  Signed 8-bit Integer seems different with a integer in Fortran. How can i know the correlation btw data type in different langurage, i.e. LabView vs Fortran?
    4. Are there any good examples that I can take a look?
    I would highly appreicate any suggestions/helps!
    Rgds,
    Harry

    You are aware that Intel Visual Fortran is the successor to Compaq Visual Fortran (I think you made a mistype with the Virtual)? So an upgrade might be at its place.
    Anyhow I'm really not familiar with Fortran at all, but lib files are usually compiled into an EXE or DLL and not loaded dynamically. 1) 
    So there should be no problem with locating those libs. What most likely is a problem are other DLL dependencies such as any Fortran Runtime library or possibly other third party DLLs the more advanced code in your DLL might be using.
    Typically most compilers can be configured to link the runtime library code statically into the DLL, as altenbach reports for the Intel compiler, otherwise you must make sure to install the  redistributable Fortran Runtime Library for your compiler. Besides that you must make sure to find out what other runtime dependencies your code might have and install them.
    1) One exception I know of is LabWindows CVI which allows to also load lib files dynamically. This is supposedly a legacy feature from LabWindows for DOS, which allowed that feature to simulate dynamic module loading in order to swap modules at runtime to work around the 640k memory limitation of DOS.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to call LabVIEW dll from ATL COM dll

    I have tried to call simple LabVIEW 8.6 Dll from win32 test application, class Library.
    I have include LabVIEW generated SharedLib.h file and SharedLib.lib file in the test application which I created as simple win32 console project and also from win32 class Library. I was sucessfully able to call my LabVIEW dll funtion. 
    But when I create ATL COM project and try to add SharedLib.h file and SharedLib.lib file I used to get following erors
    Error 1 error C2733: second C linkage of overloaded function 'StrCatW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 463 
    Error 2 error C2733: second C linkage of overloaded function 'StrCpyW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 464 
    Error 3 error C2733: second C linkage of overloaded function 'StrCpyNW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 465 
    Error 4 error C2733: second C linkage of overloaded function 'StrCmpW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 466 
    Error 5 error C2733: second C linkage of overloaded function 'StrCmpNW' not allowed d:\program files\national instruments\labview 8.6\cintools\extcode.h 467 
    these many errors.
    Will some one explain me how to call LabVIEW dll from ATL COM dll.
    Thanks & Regards,
    Jay

    I also had this problem.  My application is unicode-aware, but I was attempting to link it to a library with primitive C-string arguments.  You could dynamically load the DLL as suggested (more work), modify the header files (really not recommended), or if you are feeling lucky you could try fooling the compiler, as I was successfully able to do in Visual Studio 2010, by steering the preprocessor around those functions (assuming you're not using them, of course -- otherwise this probably wouldn't work):
    // prepare for NI extcode.h inclusion. avoid linker errors for this project.
    #define StrCatW(a,b)     IgnoreLinkError_StrCatW(a,b);
    #define StrCpyW(a,b)     IgnoreLinkError_StrCpyW(a,b);
    #define StrCpyNW(a,b,c)  IgnoreLinkError_StrCpyNW(a,b,c);
    #define StrCmpW(a,b)     IgnoreLinkError_StrCmpW(a,b);
    #define StrCmpNW(a,b,c)  IgnoreLinkError_StrCmpNW(a,b,c);
    // header file for my LabView-built DLL (ASCII single-byte character arguments)
    #include <MyLibraryHeader.h>
    // clean up afterwards, put things back to 'normal'
    #undef StrCatW
    #undef StrCpyW
    #undef StrCpyNW
    #undef StrCmpW
    #undef StrCmpNW

  • How to call a dll which has one VISA name as input

    Hi there,
    The Labview application builder can generate a dll file from a vi which is a simple serial comunication program using VISA name as one control.
    The problem is how to call the dll file in Labview which has a VISA name as INPUT?
    Thanks!
    George

    I would suggest modifying the LabVIEW VI so that the input is a string control instead of a visa control. The LabVIEW application will work the same and there is no need for any casting. All visa VIs can take a string as an input. Then when you recreate the dll make the input a string. Then you can easily pass a string to the dll from any API.
    -Josh

  • How would I call a method inside a dll?

    How would I call a method inside a dll? Is it even possible in Java? Like in VB you would do something like this: XXX.dll --> XXX.Activate()... I have already loaded the dll like this:
    String xxx = "C:/WINDOWS/system32/xxx.dll";
    System.load(xxx);
    Please help?
    THX

    I've got another question.
    I've gone through the link you posted and a couple others that I found.
    I am able to create an interface using the windows kernel32.dll and go through an example I found.
    But when I try to use a dll that I have from another application, I have problems.
    Here is what I have for the interface.
    public interface IAiCamDeviceControl extends StdCallLibrary {
         public IAiCamDeviceControl INSTANCE=(IAiCamDeviceControl)Native.loadLibrary("D:\\IAiCamDeviceControl.dll",IAiCamDeviceControl.class);   
    //        public long GetVersion( String s );
    //        public long Close();
    }The interface that works looks like this:
    public interface Kernel32 extends StdCallLibrary {
         public Kernel32 INSTANCE=(Kernel32)Native.loadLibrary("Kernel32",Kernel32.class);I thought that the problem might be using the path name for the library, so I copied it into the system32 directory.
    Still get the same error:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'D:\IAiCamDeviceControl.dll': The specified module could not be found.
    My main looks like
    public class Main {
        public static void main(String[] args) {
    //          Kernel32 lib=Kernel32.INSTANCE;
    //          Kernel32.SYSTEM_POWER_STATUS batteryStatus=new Kernel32.SYSTEM_POWER_STATUS();
    //          lib.GetSystemPowerStatus(batteryStatus);
    //          System.out.println(batteryStatus);
                IAiCamDeviceControl camDev = IAiCamDeviceControl.INSTANCE;
    }The commented part is from the version that worked.
    All I attempted to do here was just create an instance of the interface.
    Any idea why I can't access the dll?
    The dll is the same one that is used successfully in VB, C#, and C++ demo programs, so I suspect it is a good dll.

  • How to call the .dll use Jave

    hello,
    I will to call a .dll file in java
    which function or API can do that ?
    if someone knows , please tell me .
    thanks

    You must define "native" methods in java. The native methods allow you to call out of java into C programs (dll's on Windows, so's on unix.)
    There is a java tutorial on native methods. Look for the buzzwords JNI, which is Java Native Interface.

  • How to call labview DLL from C#, passing char, char[], float[], long, short

    Hi,
    I'm having trouble calling labview dll from C# to perform certain function.
    The function supposed to return the values in the float Analysis[] array. However, when I execute it it only returns zero values.
    It seems that some parameters are not properly passed to the dll.
    Below is the function in the header file:
    void __stdcall Optical_Center(char FileDirectory[], long ImagePtr,
        short int Height, short int Width, char ReadFromFile, float Analysis[],
        long lenAnalysis);
    and my corresponding dll import in c#:
    [DllImport(@"SMIA.dll", CharSet = CharSet.Ansi)]
            public static extern void Optical_Center([MarshalAs(UnmanagedType.LPStr)]string FileDirectory, long ImagePtr,
                short Height, short Width,char  ReadFromFile, IntPtr Analysis,
                long lenAnalysis);
    string str = @"C:\SMIA.raw";
    int len = 3;
    long m_lenAnalysis = 3;
    long m_ImagePtr = 0;
    short m_Height = 2464;
    short m_Width = 3280;
    IntPtr m_PtrArray = Marshal.AllocHGlobal(len * Marshal.SizeOf(typeof(float)));
    char m_ReadFromFile = '1';
    Optical_Center(str,m_ImagePtr,m_Height,m_Width,m_ReadFromFile,m_PtrArray,m_lenAnalysis);
    float[] m_Analysis = new float[len];
    Marshal.Copy(m_PtrArray, floatArray,0,len);
    Marshal.FreeHGlobal(m_PtrArray);
    string printstr = "";
    for (int i=0; i<len; i++)
        printstr = printstr + floatArray[i].ToString() + "\n";       
    MessageBox.Show(printstr);
    Appreciate if anyone can help, thanks.
    KL

    I was just about to post the header file of the DLL, when
    I noticed that there's a function called LVDLLStatus.
    This little thingie turned out to be a rather handy tool.
    With that function I found that in the DLL I had a problem
    with another function that prevented the DLL to be correctly
    loaded.
    This other function in the DLL is for generating digital output
    and it worked as it should, when tested from LV.
    Anyway if someone is interested, I got it working by using
    the LoadLibrary and GetProcAddress function, as in the
    source code thatI posted earlier.
    I will investigate what is wrong with that digital output, and
    post into a another thread if I have problems with that.

  • How to call VC++ dll whiich return char[] data type value in powerbuilder

    Hi Everyone,
    I am using PowerBuilder 11.1 build 8123.
    I am calling VC++ DLL in our PowerBuilder application which return char[] data type value.
    I just declare Global External Function:-
         Function  char getOSSectionName() library "DocServClient.dll" alias for "getOSSectionName;Ansi"
    And then call this function in window as:-
         Char      ls_section[1] = 'DOCAPPLICATIONS9X'
         ls_section[1]=getOSSectionName()
    When I check ls_section[1] value in messagebox it display a symbol (please check attached attached image.)
    VC++ function and return variable declaration:-
         __declspec(dllexport) char *  __stdcall getOSSectionName()
           char    SectionName[_MAX_PATH];
    Please let me know that my code is valid or not.
    Please help..

    Hi,
    Thanks to Everyone for your suggestions.
    I am solved my problem to change VC++ function as :-
         Int __declspec(dllexport)  __stdcall getOSSectionName(char* SectionName)
                        instead of
         __declspec(dllexport) char *  __stdcall getOSSectionName()
    and declare global function as:-
           Function int getOSSectionName(Ref char ls_section[100]) library "DocServClient.dll" alias for "getOSSectionName;Ansi"
    and call function in window as:-
         int li_ret
         char ls_section[100]
         string ls_sec
         li_ret=getOSSectionName(REF ls_section)
         ls_sec=ls_section
    Thanks,
    Vikrant

Maybe you are looking for

  • How to change Monitorsignal to vga?

    Hi... I´ve bought a used Power Mac G4 without Monitor. The reason for the deal was, to use the Mac due to the existing PCI-Interfaceboard for a Digitalback Sinar23 HR which is mounted on a Hasselblad Kamera 553 ELX . As I´m not familiar with Applecom

  • Dynamic Values for text

    I apologize in advance.  Not much of a web designer or code guy here, but I just need to create a simple animation to be dropped into a MUSE creation and I think Edge Animate is the right way to do it.  For the life of me I cannot figure out how. Bas

  • Split audio output

    Hi,I would like to play music for my friends from my Macbook and I need soft which can split sound output. So from iTunes sound will go to general out to speakers, and "que" sound from Quicktimeplayer or VLC to headphones connected to USB. Well anybo

  • How do I play just one song?

    I have a lot of Classical music. I imported whole pieces and joined them so they appear as one song. If I chose any song in a playlist it will play that one and when it is finished it will go to the next. I would like to play one song and then have i

  • Right Shift

    If use >>> operator for -1 always giving -1 can anu one explain me? int i = -1; i = i >>> 33/64...