Delphi 4.0 using CVI 5.5 DLLs

Hello !
We can't make Delhi 4.0 use dll compiled with CVI 5.5.
The problem is the paramaters don't get into the dll OK,
BUT the return value from dll Delphi reads OK.
We use _stdcall, no structures, the compatibility mode is Borland, ...
Can anyone help us?
Thanks in advance
And with best regards,
Vojko Èendak, dipl.ing.
=======================
Contact: Vojko Èendak,dipl.ing
Company: Kompozit EMRA d.o.o.
Address1: Tkalska ul. 13, 3000 Celje
Country: SLOVENIA
Telephone.: +386(3)4906460
Fax1.:+386(63) 417402
Fax2.:+386(3) 5417402
email: [email protected]
=======================

Thanks Amit for the confirmation. I am following SAP Note 0001399319 which mentions about how to develop for custom WD ABAP applications in PPM 5.0.
The example WDA component mentioned in the note is /RPM/CUSTOM_COMPONENT. I am developed a custom WD ABAP application in lines with the SAP note and still not able to get the GUID in the context.
The code written in WDDOINIT of these applications is as below,
  instantiate session state class
    wd_this->mr_session_state = cl_inm_session_state=>get_instance( ).
Obtain current context from session state.
    CALL METHOD wd_this->mr_session_state->get_current_context
      IMPORTING
        es_context = wd_this->ms_context.
I am getting null in ms_context.
Please let me know if you have tried to implement an custom WDA application in PPM 5.0. Not sure what am I missing in the above scenario.
Thanks,
Yomesh

Similar Messages

  • Typedef Error when compiling niScope for DLL using CVI

    I am getting the following error when trying to compile a DLL for the NI 5122 digitizer using CVI:
    Error creating type library:
    All structs, unions, and enums required by exported functions must be typedefs in order to create a type library. The struct/union/enum "niScope_wfmInfo" does not use such a typedef.
    I have created a variable and "typedefed" it as niScope_wfmInfo to try and get rid of this error. This did not work. I have tried making several other changes. Some have eliminated the error but created problems with the DLL.
    Has anyone had a similar error to this? If so, how did you get around it?
    Thanks,
    Heather

    Hi Heather,
    The reason that you are receiving this error is because the niscope.h file (called by niScope.fp) uses a struct which cannot be compiled into a DLL. This means that the niScope.fp file cannot be included in the target settings. Here's a knowledgebase that describes the error.
    http://digital.ni.com/public.nsf/websearch/AC028D9586E947F08625661E006A182F?OpenDocument
    If you do want the niScope.fp file to be included then you will need to make some modifications to the niscope.h file and create a typedef for the niScope_wfmInfo struct. Here's info from the help file that describes the type library section and the use of the .fp file.
    "Type Library—This button lets you choose whether to add a type library resource to your DLL. Also, you can choose to include links in the type library resource to a Windows help file. LabWindows/CVI generates the type library resource from a function panel (.fp) file. You must specify the name of the .fp file. You can generate a Windows help file from the .fp file by using the Generate Windows Help command in the Options menu of the Function Tree Editor window.
    This feature is useful if you intend for your DLL to be used from Visual Basic."
    If you do not include the niScope.fp file then you will be able to compile the DLL.
    Hope this helps! Let me know if you have any questions.
    Erick

  • Missing export kernel32.dll when using cvi 9.0 on win 64

    Hi,
    I just have a new computer (windows 7 64 bits) : PC 1 for short.
    My old computer was a windows xp 32 bits : PC 2.
    I compile my programs with CVI 9.0.
    When I compile a program with PC 1 :
    - the install works on PC 1 & PC 2
    - the prog installed works on PC 1
    - the prog installed doesn't work on PC 2 : Missing export ...... from 'KERNEL32.DLL'
    Somebody has an idea?
    Solved!
    Go to Solution.

    Hi,
    if your program uses some functions from Windows SDK included in kernel32.dll, the program really depends on this library.
    The problem is that for this reason CVI includes kernel32.dll when you build a distribution kit (on the target PCs you should find a copy of kernel32.dll in a subfolder of the one where you installed your application).
    The problem is that CVI takes this dll from your development PC (Win 7) and your target PC (XP) can't work with this dll. Win XP has its own copy of kernel32.dll, but MS Windows Operating Systems load dlls from application folder before than from system folder.
    And so, simply remove the kernel32.dll dependency and rebuild the distribution kit.
    This is a general behavior of CVI and can bring to several problems. I've already reported this to NI, because Operating System dlls must not be included in a distribution kit. If the target OS lacks of some core dll, this is a severe problem, and it's not a situation that CVI can fix simply using some local copies of these dlls.
    Vix
    In claris non fit interpretatio
    Using LV 2013 SP1 on Win 7 64bit
    Using LV 8.2.1 on WinXP SP3
    Using CVI 2012 SP1 on Win 7 64bit, WinXP and WinXP Embedded
    Using CVI 6.0 on Win2k, WinXP and WinXP Embedded

  • CVI device driver DLL

    Hello,
    I tried to use CVI device drivers under LabVIEW 6i. The problem ist
    that the device driver DLLs are missing. Is it possible to create
    these DLLs without LabWindows, or create them with LabVIEW? I tried to
    create them with a gnu compiler, there some c-source- and
    c-header-files are missing. I need the DLLs for the device drivers
    bp14xx, hp3325a an 3457a. Can anyone tell me how to get these DLLs?
    Best regards
    Jens

    The CVI drivers for the HP3325 and HP3457 are very old it appears and were propabley created before plug and play and the need for DLL distribution. The only way to create the DLL required is with LabWindows and even then might take some effort to work. However, LabVIEW drivers do exist for the HP3325 and HP3457. Go here, select Agilent as the manufacturer and download them. I don't know about your BP14xx. Who is the manufacturer and what is the exact model number.

  • Get LNK2005 error when use cvi.lib in windows application VC++

    The typical error is:
    libcmtd.lib(fflush.obj):error LNK2005 _fflush already defined in cvi.lib(cvirte.dll)
    The errors do not occur in a console application.

    The libcmtd.lib is not my own library. It is VC++ windows library. There are some conflicts between cvi.lib and MS libcmtd.lib. The errors do not occur in console application. I used nivxi.lib in my windows application but the linker gave errors of lnk2001 unresolved external symbols which I found in the cvi.lib. So I also used cvi.lib. Then the linker gave LNK2005.
    My question is what libraries should I use to control vxi instruments in my VC++ windows application? In my application, I use functions such as initVXIlibrary(), closeVXIlibrary(), WScmd(), WSwrt(), VXIinReg(), etc.
    Attachments:
    vxitest.cpp ‏1 KB
    VXIDevice.h ‏1 KB
    VXIDevice.cpp ‏2 KB

  • CVI Execution Profiler - DLL overhead

    Hello,
    I'm using CVI execution profiler toolkit to analyze performance in system where a implicity linked DLL is called from an application exe.
    It appears that in many of the statistics the component time % for the exported DLL function is roughly half the overall time for the component.
    For example (with 'dll_function' selected in profiler):
    +exe_function
    -dll_function                         50%
    DebugPrintf                48%
    OtherFunction              2%
    Would this time coorelate with overhead of calling the DLL?
    Thank you for any help in regards to this.
    Solved!
    Go to Solution.

    Hey jharris,
    I ran one of our simple examples and saw somewhat similar behavior--my GetUserEvent function takes about 66% of the time and the DLL function takes 33%. In my case, this simply means that the code is spending more of its time running the GetUserEvent function than in the DLL function. I'd expect this, since the GetUserEvent function is checking for UI updates. 
    Is your exe function doing something other than just calling the DLL function, and do you see the other 50% of time anywhere else in the execution profile? If so, I suspect that it's just indicating that only half of your execution time is spent in the DLL function.
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • Applicatio​ns using CVI may not really quit

    Please help me!
    I am suffering a problem:
    An application using CVI dlls will not really quit until all applications (also using CVI dlls) behind it (started up later than the former) quit.
    The application UI disapears, but with Task Manager, you can still see it in the process list.
    The operating system I am working on is Windows NT 4 Sp 6.
    The IDE is MSVC with SP5.
    My applications also use some same dlls that depend on CVI RTE.
    I put CloseCVIRTE in each module's global object.
    Would anyone tell me what I can do?
    Thanks,
    Yong

    Thanks.
    But I have figured out what is wrong:
    CVIRTE registers the main window of the main thread of an application that uses CVIRTE to the chain of Windows NT Clipboard viewers.
    In each of our projects, we make the main thread work in the background and hide its main window. There may and may not be other threads with visible UI.
    The problem is that we never call ProcessDrawEvents and ProcessSystemEvents in the main thread. The main window of the main thread will then never have a chance to process WM_CHANGECBCHAIN and WM_DRAWCLIPBOARD messages.
    The function "ChangeClipboardChain" in user32.dll will somehow suspend if some clipboard viewers do not follow the rule:
    Every Clipboard Viewer MUST process WM_CHANGECBCHAIN and WM_DRAWCLIPBOARD prop
    erly.
    Anyway, Thank you for your help.
    Yong Li
    [email protected]
    [email protected]

  • CAN Frame to channel conversion using CVI

    Hi,
    I am using USB-8473 can bus modules in a project.  I would like to display the channel data by using the Frame to Channel conversion library.  Is there a version that can be used with CVI?  I am using CVI 9.1
    Thanks
    John

    Hello John,
    I do see what you mean, the VIs actually just call into a C dll. I dowloaded to the Library after reading your post and opened up the VIs. It looks like each is just a small wrapper around Call library funciton node. It is definately silly that the VIs are so well documented but not the functions of the dll itself. Based on browsing a few of these VIs, it would be pretty easy to write the wrapping code in C and call all the same functions of frchconvlib.dll. 
    I will look into whether this library was written by a third party or NI, and if its NI property I would like to expose the dll itself to users like yourself. 
    I do apologize that this is the only current solution. I will let you know what I find out.
    This kind of feedback it important to receive, so thank you for voicing you concern.
    Best,
    Anna K.
    National Instruments

  • Is there anyone who has used Freescale's SimpleSUB.dll and DEMOJM board?

    Hello,
    I am trying to connect Frescale DEMOJM board over USB connection. I am adding SimpleUSB.dll to my visual instrument thorough .NET constructor node and giving an mscorlib class GUID to the GUID property, than calling OpenConnection method from an invoke node referencing the SimpleUSB reference. But there is no valid connection to the device as DeviceConnected parameter return "False". 
    I am using LabVIEW 8.6 trial, .NET Framework 3.5. So they are up to date I guess. Is there a limitation of these for using .NET dll? And also I can use the dll in Visual C# successfully.
    At first there was another problem using the .NET constructor node in LabVIEW because of Vista OS.  The vi was blocking when i added the node to the vi. I changed the "language & regional settings" to English(USA). The problem seemed to be solved. Can Vista's bug be still a problem?
    Is there anyone who  has used Freescale's SimpleUSB.dll and DEMOJM board with LabVIEW?
    I will be thankfull for your helps.
    Emre

    Hello Anna,
    Here is one of my poor vi trials.   I have also tried putting some conditionals in some other files but it didn't helped.
    http://rapidshare.com/files/176194859/EXTDLL1.rar.html
    Here is a link for the Freescale's DEMOJM board. It shows how to make a GUI for the board using SimpleUSB.dll & C#.  You can also download the dll from that web page and there is helpfull documentation for the dll.
    http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=USBJM_TRAINING&nodeId=016246fNrgVJ4Cx...
    I am trying to make the same thing with Labview instead of C#. But I am not familiar with the SW issues so am in trouble.
    Thanks,
    Emre

  • Use log4net in a dll project

    Hi,
    I want to use log4net in a dll project. I haven't yet found a good reference for doing so. Does anyone know where to find such a reference?
    Bill
    Bill Swartz

    Download log4net http://logging.apache.org/log4net/
    Add reference to log4net.dll in your assembly
    Add configuration in web.config or app.config
    <configuration>
    <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
    <log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <param name="File" value="D:\Log\MyLogg.txt" />
    <param name="AppendToFile" value="true" />
    <layout type="log4net.Layout.PatternLayout">
    <param name="Header" value="" />
    <param name="Footer" value="" />
    <param name="ConversionPattern" value="%d [%t] %-5p %m%n" />
    </layout>
    </appender>
    <root>
    <!--LogLevel: OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
    <level value="ALL" />
    <appender-ref ref="LogFileAppender" />
    </root>
    </log4net>
    In addition you can write a wrapper for the log4net library that makes things easier in you code. Here is my standard wrapper:
    https://dl.dropbox.com/u/15658890/DotNET/Logger.cs
    Roar Jørstad aka sveroa
    Senior Consultant, EVRY as
    Blog: Notebook, trick & tips
    Please mark as answer or helpful if my post is useful

  • Is it possible to create a distributi​on kit or executable file out of a Teststand sequence file that uses CVI standard prototypes​?

    How can i create an executable file or distribution kit of a sequence file in teststand?. I'm using CVI standard prototypes.

    If you want to distribute your sequence files to other machines, there are a few things you must consider.
    1. Create a TestStand Run-Time Engine installer. You can do this by selecting Tools>>Run Engine Installation Wizard.
    2. Distribute your Operator Interface.
    3. Distrbute your code modules (in your case CVI) and sequences.
    We do not have a tool similar to that of Assemble VIs for Distribution for CVI. You will need to ensure that all of your code is copied to the target machine and that TestStand is able to resolve the paths for where these files are located (i.e. Configure>>Search Directories).
    PLEASE REFER TO THE CHAPTER IN THE TESTSTAND USER MANUAL TITLED "DISTRIBUING TESTSTAND".

  • How can I using functions implicit in dll file in java code ?

    How can I using functions implicit in dll file in java code ?
    I'm developing a program that interfacing with fingerprint hardware.
    I have the finger print already, and I have to the SDK that have all functions for managing this fingerprint.
    These SDK functions are represented in dll files.
    I want to know how can I use these functions in java code .
    I looked on this link of sun forums :
    http://forum.java.sun.com/thread.jspa?threadID=305171&messageID=1215613
    but I don't Understand the meaning of native code.
    Thanks for help.

    please please please please please please please please help me:
    After reading a lot of articles, tutorials, and overviews about JNI (Java Native Interface)
    I found that these steps
    1.     Develop the Java code
    2.     Compile the Java code to a class file
    3.     Generate the header file
    4.     Implement the native method
    5.     Create the shared library or DLL
    6.     Run the Java program
    Is the common steps in JNI development
    The most powerful link was
    http://java.sun.com/docs/books/jni/html/start.html
    and
    http://www.netbeans.org/kb/55/beginning-jni-part2.html
    and the pdf oh this link
    http://www.ibm.com/developerworks/edu/j-dw-javajni-i.html requiring IBM registration to download it.
    But I have already the DLL, and want to the stright forward way to use its functions by java code only.
    I don not to write any C++ code .
    Is this possible???????????????????????????????
    The name of these dll is �zkemsdk.dll�
    It developed by ZKSOFTWARE company for managing a finger print �NP1500A�of
    http://www.napcogulfsecurity.com/finger_print.asp
    thanks for help

  • How to use GetLastError to get DLL error details ?

    Hi.
    I use Labview 6.1 under W2K pro.
    I try to use a DLL to control a unit plugged in my COM1. This DLL use setLastError in kernel32.dll but when i use GetLastError i have 0 : no error. I thing that the thread that is taken by GetLastError is the run-time of Labview (that has no error) and not the thread of the DLL... not easy to explain in english...
    If someone can help me .. ?? don't hesitate !!
    Jerome

    > I try to use a DLL to control a unit plugged in my COM1. This DLL use
    > setLastError in kernel32.dll but when i use GetLastError i have 0 : no
    > error. I thing that the thread that is taken by GetLastError is the
    > run-time of Labview (that has no error) and not the thread of the
    > DLL... not easy to explain in english...
    > If someone can help me .. ?? don't hesitate !!
    >
    If possible, it would be better if the function returned the error for
    you, as GetLastError is a poor way of doing this in any API.
    In the default settings, it is a little difficult to control which
    thread executes various subVIs or DLLs and in which order. You can
    arrange it to be predictable, though.
    I think you have two problems. First off, you want to make sure that
    the same th
    read calls the function that sets the error and GetLastError.
    The utility for setting threads is in
    vi.lib/utility/sysinfo/threadcfg.vi or something close to that. It will
    indicate how many threads are setup for a given execution system and
    priority. You could arrange for any of these to have only one thread
    and then make sure the VI running the nodes runs in the execution system
    with only a single thread. You could also just set the DLLs to run in
    the UI thread.
    The second problem is that after executing a node, LV can switch over to
    run a different node, then switch back at a later date. During this
    switch, another VI can call SetLastError, GetLastError or
    ClearLastError, all of which affect the thread-global error state. So
    you need to arrange for the nodes to run such that nothing separates
    them. One way of doing this for certain is to make a wrapper DLL around
    the calls such that the calls happen in a synchronous DLL, where LV
    cannot do switching between t
    asks. If you have already setup a VI to
    run in a less used execution system, and nobody else uses the thread,
    then you are good to go.
    Greg McKaskle

  • Controlling Labview using CVI/Labwindows

    I am learning to control Labview using CVI/Labwindows using activeX automation but am currently having some trouble. I am trying to modify the "CVI Controlling Labview" example to accept 5 controls as supposed to the original 4 that controls the "frequency response.vi". I am doing this by increasing the size of the "paramData" array sent via ActiveX. Do I have to change something in one of the labview controls, in order for a command to be accepted. I am already making sure the corresponding "paramNames" part of the array co-incides with the labview control name. I am using Labview 7.1 and CVI/Windows 7.1.
    Attachments:
    cvilv.zip ‏407 KB

    Hi Simy,
    When you call a VI in labview the input parameters have to be defined as you would when performing a function call in C. In order to do this you must place a control or indicator on the front panel of the VI with the corresponding datatype. You must then wire the control/indicator to the connector pane for the VI (Similar to defining a function prototype).
    In LabVIEW goto help>>search the labview bookshelf, LabVIEW user manual chapter 7 and look for the part on wiring the connector pane.
    Hope this helps...
    Tristan
    Applications Engineer
    National Instruments UK & Ireland

  • UDP multicast subscriber for RT using CVI 8.5

    Does anyone know of a way to implement a UDP multicast subscriber on an RT system using CVI 8.5?  I know that CVI 2009 supports UDPMulticastSubscribe/UDPMulticastUnsubscribe functions, but I'd rather not upgrade if I can avoid it.  
    Can this be done using the Windows SDK?  Is it even possible?
    --NDo
    Solved!
    Go to Solution.

    The reason that the CVI library multicast functions weren't supported until version 2009 is that the underlying Windows SDK implementation provided by LabVIEW Real-Time did not support UDP multicast. This means that unless you have LabVIEW Real-Time 2009 on the system, multicast is impossible. It might be possible to install LVRT 2009 and use the Windows SDK directly, without upgrading to CVI RT 2009. I have not tried this, though, so I can't guarantee you won't run into problems.
    Mert A.
    National Instruments

Maybe you are looking for

  • Time Capsule won't connect to the internet

    I just bought a Time Capsule and was told that I simply had to connect it to my modem and it would "self connect". However when I tried this, the amber light kept flashing for 40 minutes before I gave up. What am I doing wrong?

  • CRM 5.0 certification query?

    Hi, I just spoke to SAP UK regarding CRM Marketing certification CR600. They do CRM 5.0( not CR 4.0) & no prerequesite like certifaction in base customisation ( though it is advisable ). So we can straightway do CR600 I have been practising in CRM 4.

  • 11.0.03 Version

    When I downloaded the Acrobat Reader Version 11.0.03 update, it attached to all programs on my computer, and all programs try to open in Acrobate Reader.  I had to delete Acrobat Reader totally in order to be able to use my programs.  Has anyone else

  • Components overdrawn when updating

    We have a group of components updated via a tcp/ip stream. When the components is redrawn, the offset of the component sometimes seem to be moved to the offset of the app, redrawn and moved back to the component location resulting in components overd

  • Query returning zero results for yesterdays same hour

    I have the following query: SELECT d_dtm, BTS_ID, CASE WHEN D_DTM = (D_DTM-24/24) THEN sum(V_ATT_CNT) END AS "LASTATT", sum(V_ATT_CNT) as "V_ATT_CNT", CASE WHEN D_DTM = D_DTM THEN sum(V_ATT_CNT) END AS "ATT" FROM DMSN.DS3R_FH_1XRTT_FA_LVL_KPI WHERE t