Creating TestStand threads from a DLL

I have a DLL function that creates a thread to maintain a LabWindows/CVI user-interface. I'm interested in having UI events trigger the execution of a sequence in TestStand.
In the TestStand API, I can find methods to start a whole new Execution. But I was really hoping to create a TestStand thread within the original Execution. I can't find a way to do that. Is it possible?
I'm using TestStand 2.0, by the way.

The only way to start a thread within an execution is with a sequence call step.
To accomplish what you describe, your sequence could start a thread that waits for requests to start new threads (requests sent via any convenient mechanism such as TestStand events or queues, Windows synchronization primitives, TestStand or DLL variables, etc.). When the thread receives a request, it would use a sequence call step to launch the appropriate new thread.

Similar Messages

  • How to call a sequence in a new thread from C++ dll

    Here is what I am trying to do:
    I implemented a dll that monitors network traffic, and it also supports message handlers that can be triggered when a specific message has been received. Essentially the receipt of a message is like an event causing additional code to be executed. What I need to do is have the message handler in the dll call/execute a sequence (either is the same sequence file that originally called the dll, or in a different sequence file). Also I want the sequence to be executed within the same execution object for the purpose of result collection and report generation. I am expecting the dll to have to launch a new thread to call a sequence because of the asynchronous nature of the message received event.
    There are easier ways to achieve the same result, but one of my goals is to make it easy for a test developer to configure a message handler, by having only one step in their sequence to configure the message handler. I want the rest to be transparent to the user.
    I am unsure about how to implement this feature, so I am asking for any examples, ideas, comments before I start trying things out.

    Assuming that I understand your question correctly, it would seem to be the best way to do this would be to pass the Execution object to the DLL (either through a direct pass of the Execution object or passing the sequence context, from which you can get the Execution).  Then simply call Execution.NewThread, specifying the SequenceFile object (accessible from Engine.GetSequenceFileEx) and then passing the Thread object out as an output.  Your sequence file in which your DLL is called could then simply have a Wait step which is configured to wait on that Thread object.  What happens in this case is that the results are collected for that thread (which is being executed asynchronously) and returned as the results for the Wait step.
    Although you are probably not using LabVIEW, I have attached an example of this in LabVIEW that might be helpful just for seeing the flow.
    Thanks,
    Andy McRorie
    NI R&D
    Attachments:
    thread_test.seq ‏32 KB
    testthread.vi ‏19 KB

  • TestStand close notification from a DLL

    How can I get a close notification from TestStand to my loaded DLL? I would like to have a message/notification from TestStand that it is in progress of shutdown, before it does FreeLibrary() on my DLL. This is to ensure that I always do a clean exit.
    Alternatively; can I have TestStand call a function inside my DLL before doing FreeLibrary?

    You can use the dll entry point DLL_PROCESS_DETACH in your DLL which is executed each time teststand unloads your DLL. See also http://msdn2.microsoft.com/en-us/library/ms682583.aspx
    In Teststand you can define when your DLL should be unloaded in the Step Properties of your C/C++ Prototype Adapter -> Run Options -> Unload Options. The Dll is also unloaded if Teststand shuts down.
    If you use CVI you can insert the code needed with:
    Edit->Insert Construct ->DLLMain
    This is what you get:
    #include <cvirte.h>
    int __stdcall DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
     switch (fdwReason)
      case DLL_PROCESS_ATTACH:
       if (InitCVIRTE (hinstDLL, 0, 0) == 0)
       return 0;   /* out of memory */
       break;
      case DLL_PROCESS_DETACH:
    //here you can enter your clean up code: FreeLibrary(..)
       CloseCVIRTE ();
       break;
     return 1;

  • Pass error cluster from labview dll to teststand

    Hello,
    I just want to pass an error cluster from a dll compiled in LV7.1 to TestStand 3.1. I never receive the contents of the LV error cluster in TS. I compiled my function with standard calling convention option, this should work. In my VI I generate only an error and pass to error output.
    LV Settings:
     TS settings:
    regards
    MB

    MB,
    please follow the info in this KB:
    http://digital.ni.com/public.nsf/allkb/22BF02003B4588808625717F003ECD67?OpenDocument
    Please note that using "By Value" will never return any values to TestStand!
    You cannot use the default error-container in TestStand to receive data from the LV error cluster if you compile the VI into a LV DLL.
    So either you choose to follow the KB or you split up the error cluster in your LV VIs to return error.occurred (boolean), error.code (numeric i32) and error.msg (LV String) .
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Unable to create thread from startup class

    Hi,
    We are trying to create thread from our scheduler class. This scheduler class
    is called from a Startup class configured in WebLogic 7. But we failed to create
    thread. It does not showing any error also. Can anyone plz suggest what could
    be the problem.
    Thanks & Regards,
    Siddhartha

    Hi,
    We are trying to create thread from our scheduler class. This scheduler class
    is called from a Startup class configured in WebLogic 7. But we failed to create
    thread. It does not showing any error also. Can anyone plz suggest what could
    be the problem.
    Thanks & Regards,
    Siddhartha

  • How to auto-recognize the function parameters called from a DLL built by VC6.0

    Hi,
    I use Teststand 3.5 with C/C++ Adapter, and the DLL is built by VC6.0.
    While I specify module for an action, the parameters of a function called from the DLL are not recognized.
    Since I have the DLL source, I know I can select the source file and verify prototype in the "Source Code" Tab.
    Under the way, almost parameters can be recognized, but some parameters, e.g. HANDLE or I definded, can not ( shows error message "The function definition cannot be found in the source file...").
    How to recognise these parameters?
    Thanks.

    The problem isn't that TestStand doesn't have enough native types. A handle can be represented in a TestStand numeric variable just fine. Instead, the issue is that when you select Verify Prototype, TestStand doesn't fully pre process your headers and compile your code to determine the types. To do so would require TestStand not only to be a full C/C++ compiler but it would also have to be able to read your compiler's projects and settings to resolve include paths, macros, etc.
    Since TestStand is not a C/C++ compiler, it just looks for the standard basic data types plus a few more that are common in test code.  Other data types will not be automatically recognized even if they can be mapped to TestStand types.
    Another option it to create a type library for your dll so that TestStand can automatically read the data type information from it. However, I don't know if that works for struct parameters and I looked for the document on devzone that explains how to do that in VC++ and it has been moved or deleted
    Maybe an AE would know of a link to a current document that describes how to do this?

  • Bug: Create New Document From Current State (Win 7 HomePremium SP1)

    1. Open a new document, any size you want, any bit mode you want
    2. Click on the Text tool and write something
    3. Add a new layer mask do the text layer and fill it black or something else. Just something you can visualize if you'd took it off.
    4. Unblock the layer mask from the layer so you can move tha layer mask separate from the text
    5. Go to your history pannel and click "Create new document from current state"
    Result: You'll notice that the layer mask is gone from your text, even though it had something in it.
    This only seems to happen with text layers
    Expected Result: Everything should stay exactly the same, as it's a duplicate from the current state.
    System Info:
    Adobe Photoshop Version: 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00) x32
    Operating System: Windows 7 32-bit
    Version: 6.1 Service Pack 1
    System architecture: AMD CPU Family:15, Model:11, Stepping:2 with MMX, SSE Integer, SSE FP, SSE2, SSE3
    Physical processor count: 2
    Processor speed: 2493 MHz
    Built-in memory: 3071 MB
    Free memory: 723 MB
    Memory available to Photoshop: 1674 MB
    Memory used by Photoshop: 100 %
    Image tile size: 132K
    Image cache levels: 4
    Photoshop crashed on 29-03-2012 at 19:49:02 (AllocateSharedGLResources)
    OpenGL Drawing: Enabled.
    OpenGL Drawing Mode: Advanced
    OpenGL Allow Normal Mode: True.
    OpenGL Allow Advanced Mode: True.
    OpenGL Allow Old GPUs: Not Detected.
    Video Card Vendor: ATI Technologies Inc.
    Video Card Renderer: ATI Radeon HD 4600 Series
    Display: 1
    Display Bounds:=  top: 0, left: 0, bottom: 768, right: 1360
    Video Card Number: 1
    Video Card: ATI Radeon HD 4600 Series
    OpenCL Unavailable
    Driver Version: 8.632.1.2000
    Driver Date: 20090817000000.000000-000
    Video Card Driver: atiumdag.dll,atidxx32.dll,atidxx64,atiumdva.cap,atiumd64,atiumd6a,atitmm64
    Video Mode: 1360 x 768 x 4294967296 colors
    Video Card Caption: ATI Radeon HD 4600 Series
    Video Card Memory: 512 MB
    Video Rect Texture Size: 8192
    Serial number: Tryout Version
    Application folder: C:\Program Files\Adobe\Adobe Photoshop CS6\
    Temporary file path: C:\Users\Motta\AppData\Local\Temp\
    Photoshop scratch has async I/O enabled
    Scratch volume(s):
      E:\, 228,7G, 28,9G free
    Required Plug-ins folder: C:\Program Files\Adobe\Adobe Photoshop CS6\Required\
    Primary Plug-ins folder: C:\Program Files\Adobe\Adobe Photoshop CS6\Plug-ins\
    Additional Plug-ins folder: not set
    Installed components:
       A3DLIBS.dll   A3DLIB Dynamic Link Library   9.2.0.112  
       ACE.dll   ACE 2012/01/18-15:07:40   66.492997   66.492997
       adbeape.dll   Adobe APE 2012/01/25-10:04:55   66.1025012   66.1025012
       AdobeLinguistic.dll   Adobe Linguisitc Library   6.0.0  
       AdobeOwl.dll   Adobe Owl 2012/02/09-16:00:02   4.0.93   66.496052
       AdobePDFL.dll   PDFL 2011/12/12-16:12:37   66.419471   66.419471
       AdobePIP.dll   Adobe Product Improvement Program   6.0.0.1642  
       AdobeXMP.dll   Adobe XMP Core 2012/02/06-14:56:27   66.145661   66.145661
       AdobeXMPFiles.dll   Adobe XMP Files 2012/02/06-14:56:27   66.145661   66.145661
       AdobeXMPScript.dll   Adobe XMP Script 2012/02/06-14:56:27   66.145661   66.145661
       adobe_caps.dll   Adobe CAPS   5,0,10,0  
       AGM.dll   AGM 2012/01/18-15:07:40   66.492997   66.492997
       ahclient.dll    AdobeHelp Dynamic Link Library   1,7,0,56  
       aif_core.dll   AIF   3.0   62.490293
       aif_ocl.dll   AIF   3.0   62.490293
       aif_ogl.dll   AIF   3.0   62.490293
       amtlib.dll   AMTLib   6.0.0.75 (BuildVersion: 6.0; BuildDate: Mon Jan 16 2012 18:00:00)   1.000000
       ARE.dll   ARE 2012/01/18-15:07:40   66.492997   66.492997
       AXE8SharedExpat.dll   AXE8SharedExpat 2011/12/16-15:10:49   66.26830   66.26830
       AXEDOMCore.dll   AXEDOMCore 2011/12/16-15:10:49   66.26830   66.26830
       Bib.dll   BIB 2012/01/18-15:07:40   66.492997   66.492997
       BIBUtils.dll   BIBUtils 2012/01/18-15:07:40   66.492997   66.492997
       boost_date_time.dll   DVA Product   6.0.0  
       boost_signals.dll   DVA Product   6.0.0  
       boost_system.dll   DVA Product   6.0.0  
       boost_threads.dll   DVA Product   6.0.0  
       cg.dll   NVIDIA Cg Runtime   3.0.00007  
       cgGL.dll   NVIDIA Cg Runtime   3.0.00007  
       CIT.dll   Adobe CIT   2.0.5.19287   2.0.5.19287
       CoolType.dll   CoolType 2012/01/18-15:07:40   66.492997   66.492997
       data_flow.dll   AIF   3.0   62.490293
       dvaaudiodevice.dll   DVA Product   6.0.0  
       dvacore.dll   DVA Product   6.0.0  
       dvamarshal.dll   DVA Product   6.0.0  
       dvamediatypes.dll   DVA Product   6.0.0  
       dvaplayer.dll   DVA Product   6.0.0  
       dvatransport.dll   DVA Product   6.0.0  
       dvaunittesting.dll   DVA Product   6.0.0  
       dynamiclink.dll   DVA Product   6.0.0  
       ExtendScript.dll   ExtendScript 2011/12/14-15:08:46   66.490082   66.490082
       FileInfo.dll   Adobe XMP FileInfo 2012/01/17-15:11:19   66.145433   66.145433
       filter_graph.dll   AIF   3.0   62.490293
       hydra_filters.dll   AIF   3.0   62.490293
       icucnv40.dll   International Components for Unicode 2011/11/15-16:30:22    Build gtlib_3.0.16615  
       icudt40.dll   International Components for Unicode 2011/11/15-16:30:22    Build gtlib_3.0.16615  
       image_compiler.dll   AIF   3.0   62.490293
       image_flow.dll   AIF   3.0   62.490293
       image_runtime.dll   AIF   3.0   62.490293
       JP2KLib.dll   JP2KLib 2011/12/12-16:12:37   66.236923   66.236923
       libeay32.dll   The OpenSSL Toolkit   0.9.8g  
       libifcoremd.dll   Intel(r) Visual Fortran Compiler   10.0 (Update A)  
       libmmd.dll   Intel(r) C Compiler, Intel(r) C++ Compiler, Intel(r) Fortran Compiler   10.0  
       LogSession.dll   LogSession   2.1.2.1640  
       mediacoreif.dll   DVA Product   6.0.0  
       MPS.dll   MPS 2012/02/03-10:33:13   66.495174   66.495174
       msvcm80.dll   Microsoft® Visual Studio® 2005   8.00.50727.6195  
       msvcm90.dll   Microsoft® Visual Studio® 2008   9.00.30729.1  
       msvcp100.dll   Microsoft® Visual Studio® 2010   10.00.40219.1  
       msvcp71.dll   Microsoft® Visual Studio .NET   7.10.3077.0  
       msvcp80.dll   Microsoft® Visual Studio® 2005   8.00.50727.6195  
       msvcp90.dll   Microsoft® Visual Studio® 2008   9.00.30729.1  
       msvcr100.dll   Microsoft® Visual Studio® 2010   10.00.40219.1  
       msvcr71.dll   Microsoft® Visual Studio .NET   7.10.3052.4  
       msvcr80.dll   Microsoft® Visual Studio® 2005   8.00.50727.6195  
       msvcr90.dll   Microsoft® Visual Studio® 2008   9.00.30729.1  
       pdfsettings.dll   Adobe PDFSettings   1.04  
       Photoshop.dll   Adobe Photoshop CS6   CS6  
       Plugin.dll   Adobe Photoshop CS6   CS6  
       PlugPlug.dll   Adobe(R) CSXS PlugPlug Standard Dll (32 bit)   3.0.0.383  
       PSArt.dll   Adobe Photoshop CS6   CS6  
       PSViews.dll   Adobe Photoshop CS6   CS6  
       SCCore.dll   ScCore 2011/12/14-15:08:46   66.490082   66.490082
       ScriptUIFlex.dll   ScriptUIFlex 2011/12/14-15:08:46   66.490082   66.490082
       shfolder.dll   Microsoft(R) Windows (R) 2000 Operating System   5.50.4027.300  
       ssleay32.dll   The OpenSSL Toolkit   0.9.8g  
       tbb.dll   Intel(R) Threading Building Blocks for Windows   3, 0, 2010, 0406  
       tbbmalloc.dll   Intel(R) Threading Building Blocks for Windows   3, 0, 2010, 0406  
       TfFontMgr.dll   FontMgr   9.3.0.113  
       TfKernel.dll   Kernel   9.3.0.113  
       TFKGEOM.dll   Kernel Geom   9.3.0.113  
       TFUGEOM.dll   Adobe, UGeom©   9.3.0.113  
       updaternotifications.dll   Adobe Updater Notifications Library   6.0.0.24 (BuildVersion: 1.0; BuildDate: BUILDDATETIME)   6.0.0.24
       WRServices.dll   WRServices Friday January 27 2012 13:22:12   Build 0.17112   0.17112
       wu3d.dll   U3D Writer   9.3.0.113  
    Required plug-ins:
       3D Studio 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Accented Edges 13.0
       Adaptive Wide Angle 13.0
       ADM 3.11x01
       Angled Strokes 13.0
       Average 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Bas Relief 13.0
       BMP 13.0
       Chalk & Charcoal 13.0
       Charcoal 13.0
       Chrome 13.0
       Cineon 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Clouds 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Collada 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Color Halftone 13.0
       Colored Pencil 13.0
       CompuServe GIF 13.0
       Conté Crayon 13.0
       Craquelure 13.0
       Crop and Straighten Photos 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Crop and Straighten Photos Filter 13.0
       Crosshatch 13.0
       Crystallize 13.0
       Cutout 13.0
       Dark Strokes 13.0
       De-Interlace 13.0
       Dicom 13.0
       Difference Clouds 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Diffuse Glow 13.0
       Displace 13.0
       Dry Brush 13.0
       Eazel Acquire 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Embed Watermark 4.0
       Entropy 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Extrude 13.0
       FastCore Routines 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Fibers 13.0
       Film Grain 13.0
       Filter Gallery 13.0
       Flash 3D 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Fresco 13.0
       Glass 13.0
       Glowing Edges 13.0
       Google Earth 4 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Grain 13.0
       Graphic Pen 13.0
       Halftone Pattern 13.0
       HDRMergeUI 13.0
       IFF Format 13.0
       Ink Outlines 13.0
       JPEG 2000 13.0
       Kurtosis 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Lens Blur 13.0
       Lens Correction 13.0
       Lens Flare 13.0
       Liquify 13.0
       Matlab Operation 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Maximum 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Mean 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Measurement Core 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Median 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Mezzotint 13.0
       Minimum 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       MMXCore Routines 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Mosaic Tiles 13.0
       Multiprocessor Support 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Neon Glow 13.0
       Note Paper 13.0
       NTSC Colors 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Ocean Ripple 13.0
       Oil Paint 13.0
       OpenEXR 13.0
       Paint Daubs 13.0
       Palette Knife 13.0
       Patchwork 13.0
       Paths to Illustrator 13.0
       PCX 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Photocopy 13.0
       Photoshop 3D Engine 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Picture Package Filter 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Pinch 13.0
       Pixar 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Plaster 13.0
       Plastic Wrap 13.0
       PNG 13.0
       Pointillize 13.0
       Polar Coordinates 13.0
       Portable Bit Map 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Poster Edges 13.0
       Radial Blur 13.0
       Radiance 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Range 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Read Watermark 4.0
       Reticulation 13.0
       Ripple 13.0
       Rough Pastels 13.0
       Save for Web 13.0
       ScriptingSupport 13.0
       Shear 13.0
       Skewness 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Smart Blur 13.0
       Smudge Stick 13.0
       Solarize 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Spatter 13.0
       Spherize 13.0
       Sponge 13.0
       Sprayed Strokes 13.0
       Stained Glass 13.0
       Stamp 13.0
       Standard Deviation 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Sumi-e 13.0
       Summation 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Targa 13.0
       Texturizer 13.0
       Tiles 13.0
       Torn Edges 13.0
       Twirl 13.0
       U3D 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Underpainting 13.0
       Vanishing Point 13.0
       Variance 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Variations 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Viveza 2 2.0.2.10710
       Water Paper 13.0
       Watercolor 13.0
       Wave 13.0
       Wavefront|OBJ 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       WIA Support 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       Wind 13.0
       Wireless Bitmap 13.0 (13.0 20120305.m.415 2012/03/05:21:00:00)
       ZigZag 13.0
    Optional and third party plug-ins:
       Camera Raw 7.0
       Color Efex Pro 3.0 Complete 3.1.10.8263
       Color Efex Pro 4 NO VERSION
       Color Efex Pro 4 NO VERSION
       HDR Efex Pro 1,20
       HDR Efex Pro Metadata 1,20
       Merge to HDR Efex Pro 1,20
       Nik Selective Tool 2.1.0.15202
       Noiseware Professional 4.2.0.5
       Silver Efex Pro 2 2,0
       Silver Efex Pro 2 2,0
    Plug-ins that failed to load: NONE
    Flash:
       Mini Bridge
       Kuler
    Installed TWAIN devices: NONE

    Yep, that existed in CS5 as well.
    We'll log a bug on it.

  • Using PostLVUserEvent function from Labview.dll

    I am trying to use the PostLVuserEvent function from the labview.dll and corresponding extcode.h file.  I have made my own dll using CVI that uses this function.  I then use Labview to call my dll.  My dll compiles fine.  No issues, no errors.  LabView can call my dll function containing the PostLVUserEvent function with no errors.  However, the event number LabView passes my dll is not the same event number I receive so no LabView event is triggered. 
    Has anyone had this issue? 
    We are trying to solve it from the LabView side and the CVI side but cannot seem to get it to work.  The examplesI have found here were compiled using C++ and those seem to work.  I do not know why when I compile my program in C, it creates the dll but does not work.   If I had to guess, i think it's an issue with pointers vs non-pointers.  When the LAbview program selects my function from the dll, it shows the argument PostLVUserEvent as a pointer when in my dll, it is not a pointer PostLVUserEvent....
    Any ideas?
    Thanks in advance. 

    Hello Blue
    Take a look to this one, it was created on C, I think the .c and the .h files will give a good idea, how the function should be implemented. It is important when calling the dll on LabVIEW, to use the std calling convention and run it on the UI thread.
    Regards
    Mart G
    Attachments:
    LabView EventTest.zip ‏1041 KB

  • Teststand crashes when unloading dll

    I have crated a dll using Delphi.
    When i try to "unload all modules" or close the sequence editor teststand crashes.
    Can this be related to bug#189528?
    TestStand engine ver. 4.2.1.83
    DLL sourcecode:
    library Test;
    { Important note about DLL memory management: ShareMem must be the
      first unit in your library's USES clause AND your project's (select
      Project-View Source) USES clause if your DLL exports any procedures or
      functions that pass strings as parameters or function results. This
      applies to all strings passed to and from your DLL--even those that
      are nested in records and classes. ShareMem is the interface unit to
      the BORLNDMM.DLL shared memory manager, which must be deployed along
      with your DLL. To avoid using BORLNDMM.DLL, pass string information
      using PChar or ShortString parameters. }
    uses
      ShareMem,
      SysUtils,
      Classes,
      Dialogs;
    {$R *.res}
    Procedure TestProcedure(parStr : pChar);  safecall; export;
    begin
      ShowMessage(TestProcedure called with parameter: '+pchar(parStr));
      StrPCopy(parStr,'String from TestProcedure);
    end;
    exports TestProcedure;
    begin
    end.

    Hi Allan,
    I can see in you sequence file that the Sequence sub-sequence contains a step that preloads TNBTools.dll. Is that the name of the dll you have developed?
    What happens if you set the Load Option on the Action step to Preload when execution begins instead of Preload when opening sequence file and then try to run he main sequence and then unload modules? Another way to test this was to create a new sequence file that does not contain any form for reference to the TNBTools.dll at all.
    I presume that the TNBTools.dll is the one you have developed in Delphi. If TestStand still crashes when you have done the above, are you willing to share the dll so I can test it out at my side?
    Regards,
    Eirikur Runarsson
    Platinum Applications Engineer
    NI Denmark
    Attachments:
    Capture.PNG ‏62 KB

  • Hyperlinks not converting when creating a pdf from Word 2010 to Adobe Acrobat 11.0.6

    First off, let me say that these are not table of contents hyperlinks.  I have created a document in Word 2010 (not a MAC) with hyperlinks to files residing on our company's intranet.  In Word the hyperlinks work great but when I create the pdf, the links do not work.  I have converted using both PDFMaker from Word and Create a pdf from within Acrobat.  Yes, I have all the boxes checked regarding saving links.  The links appear to work partially.  Meaning that when I hover the cursor over the link, the pointy finger appears but when I click I get a pop-up message telling me the file could not be opened.  Also, when I hover over the hyperlink, the address appears.  So, I think it knows there's a link and it tries to open but can't.  When I create the file within Adobe the link works - once.  When I click on the link I get a pop-up window asking me if I want to save my file before closing.  After my response the file closes and the linked file opens.  However, when I go back into the file and try the hyperlink again, I get the pop-up telling me the file cannot be opened.  HELP!  I am at my wits end.  After spending hours yesterday trying to research (I think I read every thread related to hyperlinks but I am not using a Mac, table of contents or Adobe 7 around which it seems all the prior questions revolve) and futily creating and recreating the pdf (as if doing the same thing repeatedly would somehow magically work) I am about to give up.  This is a document that will be published to our intranet for use by employees which cross-references other documents to which they can refer for additional information.  I would prefer to publish a pdf and not a Word document.  Any suggestions would be appreciated.

    Thanks for your input Bill. I've checked the preferences and "view large images" is turned on. It's not all of the images which are missing, only certain ones do not transfer over to PDF.

  • Creating Excise Invoice from Sales Delivery using DI API.

    Hi Experts,
    I have been searching a lot for any Business Object for creating Excise Invoice base on Sales Delivery using DI API.. But have not yet found any one.
    I want to create Invoice for excisable items from Sales Delivery using DI API.,for Excisable items we cannot create standalone A/R Invoice . We need to create Excise Invoice also . But How to create Excise Invoice based on Sales Delivery using DI API. Is there any Business Object for that.
    Please suggest me.
    Thanks and Regards,
    Pooja Singh.

    Hi all,
    I have not received any reply for this thread. Does this mean that there is no provision for creating Excise Invoice from Sales Delivery ? Actually I was asked to create sales delivery and then Outgoing Excise Invoice and then Sales Invoice using DI API.
    But I don't find any Business Object for this in SDK ? Is it really not possible to create Outgoing Excise Invoice from Sales Delivery using DI API.? If possible then how?
    Please reply me if anyone has got any idea in this regard.
    Thanks and Regards,
    Pooja Singh.

  • Calling a function from a DLL, exectution in background mode.

    Dear Experts,
    We have created an ABAP report the calls a function from a DLL file. If the report is executed in on-line mode the program calls and executes the function from the DLL, but if the ABAP programa is executed in background mode it doesnt calls the DLL function.
    Do you know a way to solve the problem when executing in background mode?
    Best regards.
    Antonio

    Hi Gabriel,
    Let me explain in details about my DLL function.
    We are importing the business partners from legacy system into the SAP CRM system, so at the moment we created the BP master data via BAPI, I get the name of the BP and this moment I call the function in the DLL file. I export the parameter name and I receive back a simplified string with the name reduced to a code. This code I get back from the dll it is insert in a Z table, so there is no interaction in the screen, all must be executed in background mode, because there are a lot of business partners to be converted in SAP system.
    I am sending my code for your considerations.
    Instancia a DLL
      CREATE OBJECT dll 'MTCODE.CPFONET'.
      IF sy-subrc NE 0.
        RAISE without_dll.
      ENDIF.
    Move para a tabela interna IT_NAME os valores recebidos na TI_NAME
      it_name[] = ti_name[].
    Para cada registro importado
      LOOP AT it_name.
        CLEAR v_string_ret.
        wa_matchcode-zregid     = it_name-zregid.
        wa_matchcode-name1_text = it_name-name1_text.
        v_string = it_name-name1_text.
        CONDENSE  v_string.
        TRANSLATE v_string TO UPPER CASE.
        CALL METHOD  OF dll 'SetNome' EXPORTING #1 = v_string.
        CALL METHOD  OF dll 'ExecMatch'.
        CALL METHOD  OF DLL 'GetMCData' = v_string_ret.
        FREE OBJECT dll.
      Preenche os campos do match-code de acordo com o retorno da DLL
        SPLIT v_string_ret
        AT '|'
        INTO wa_matchcode-zparmcln
             wa_matchcode-zparmcfn
             v_empty
             wa_matchcode-name_first
             wa_matchcode-name_last
             wa_matchcode-namemiddle.
      Adiciona o registro com o match-code correspondente na TE_MATCHCODE
        APPEND wa_matchcode TO te_matchcode.
      ENDLOOP.

  • How do I create a pdf from just one or two pages of an existing pdf?

    I just purchased this product (acrobat online)
    and it is not allowing me to do the things it promised, e.g. saving portions of one pdf to another, combining pages or entire docuements to create, even typing into a document (editing)! I am so frustrated - can someone please help!?

    But I jut paid $89.00 for the adobe pack - if I subscribe to Acrobat Plus, will that be credited?
    Date: Thu, 19 Sep 2013 15:50:14 -0700
    From: [email protected]
    To: [email protected]
    Subject: Files.Acrobat.com How do I create a pdf from just one or two pages of an existing pdf?
        Re: How do I create a pdf from just one or two pages of an existing pdf?
        created by H.Spector in Files.Acrobat.com - View the full discussion
    Hi,
    Thank you for your subscription.  If you are Acrobat Plus subscriber then you can extract the pages from the PDF file using Tools> Pages> Extract pages.
    You can find "Tools" at right top once you open your PDF file in Acroat.
    If you are subscriber to PDF Pack then please download Acrobat XI Plus from www.adobe.com.
    PDF Pack service offers "Convert to PDF", "Export from PDF"(to Word/PowerPoint/Excel/RTF formats so that you can edit the exported files) and "Combine Files" (combine your files into a single PDF file).
    Please let me know if you have any quesitons.
    thank you.
    hisami
         Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/5697921#5697921
         Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/5697921#5697921
         To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/5697921#5697921. In the Actions box on the right, click the Stop Email Notifications link.
         Start a new discussion in Files.Acrobat.com by email or at Adobe Community
      For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746.

  • How can I create one pdf from a FrameMaker Book with mixed page sizes.

    Looking for an easier way to create one pdf from a FrameMaker book that has files with different pages sizes; letter and tabloid.
    So far, I have not been able to find a way to set up the Adobe PDF printer or Distiller to read the page size from the source files in the book and then create one pdf with the appropriate page sizes based on the file sizes in the FrameMaker book. I can create a pdf of the book using a multi-step process where I create a pdf for each page size and then combine them into one file. This is a lot of work.
    Is there a way to set the Adobe PDF printer where it reads page size from the source files and then creates one pdf with a mixed page sizes?
    Using FrameMaker 7 and 10 and Acrobat X Pro.
    Thanks for any suggestions

    http://forums.adobe.com/message/4013068#4013068
    http://forums.adobe.com/message/3519366#3519366
    http://forums.adobe.com/thread/485331?tstart=0

  • Create a schema from web service in eclipse

    Hi all,
    I'm trying to export some data out of SF to an 3rd party via a web service. In the webUI I have the possibility(Attachment 1) to create a schema from web service so my outgoing file matches the requirements. In Eclipse I cannot find that option and I'm encoutering some errors (attachement 2).
    Can anyone tell me if there is a possibility like the web UI in eclipse?
    Thanks in advance.

    Hi,
    You can create a portal service which can access KM to create a folder and then expose this portal service as Web Services.
    To know more:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/cb213e578c0262e10000000a11466f/frameset.htm
    https://www.sdn.sap.com/irj/sdn/thread?threadID=324931
    To know the api to create folder in your service method, check this:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5d0ab890-0201-0010-849d-98d70bd1d5f0
    Some code:
    IResourceContext context = new ResourceContext(user);
    ICollection parent = (ICollection) ResourceFactory.getInstance()
    .getResource(&#8243;/documents&#8243;, context);
    IResource resource = parent.createResource(&#8243;file&#8243;, null, null);
    ICollection collection = parent.createCollection(&#8243;folder&#8243;, null);
    Greetings,
    Praveen Gudapati
    p.s. Points are always welcome for helpful answers

Maybe you are looking for

  • Service has been cancelled

    This has given me a headache…. 11 Months ago I cancelled my bt vision service due to my Freeview signal not been good enough... I received a pre-paid package from BT to send it back, which I did. Fast forward 6 months, I realised I was still being ch

  • Document split for previous year open item

    Dear All, We have upgraded from 4.6 to ecc 6.0 .I have a problem of document splitting . Suppose there is open item of previous year i.e vendor  and after 1.4.09 the liability is transferred to another vendor the system gives me error that' profit ce

  • Satellite L450 - Cannot install flash player for IE9

    satellite L450, win7, hi guys I am having trouble with flash player, i uninstalled f/p, then installed latest version 11, but still when trying to use youtube it tells me i need to upgrade. I have done most of the suggestions on diff forums ie: i mad

  • User Exit for Purchase Req. ME51N

    Hi, In ME51N, I would like to default some value for the field BPUEB. Is there any user exit for such purpose? Many thanks. Regards, Chris

  • Panoramas folder not updating

    I have 10 panoramas in the "Panoramas" folder of my iPhone 5s. The folder used to work perfectly--all new panoramas I took were automatically added to the folder. I recently noticed that this stopped happening. That is, the 10 panoramas that have bee