API ActiveX vs engine API

Hello

I want to develop an Interface with c# operator, but I don't know if I have to use the TestStand or motor TestStand API ActiveX API. In my opinion, the API ActiveX TestStand is more a sampler than the API of the engine, but the engine API is more flexible and more powerful.

In fact, us know not what's the different between the ActiveX API and the API of the engine, could you please tell me in this case I use the ActiveX API and in which case I should use the API of the engine?

What is the advantage and disadvantage of the ActiveX API and API engine separately?

Thanks in advance!

Concerning

Simon

The user interface controls are ActiveX controls, designed to help you create a richer user interface, more quickly and easily. These controls are called in the engine API to interact with TestStand. The engine APIs are low-level APIs. The API UI APIs for user interface controls themselves and are usually higher level API. Step usually recommended to use the API of the engine type code non-interface user, such as code modules and code modules. The UI code must use the user interface for most controls.

Hope this helps to clear things up,

-Doug

Tags: NI Software

Similar Questions

  • GetCommand does not return my configuration of entry points?

    If I'm in a file of sequence of customer and I want to run dynamically my own configuration entry point in the process model which is the best way to do this?

    I try to get the application manager through a step of the activex using Engine.GetInternalOption (InternalOption_ApplicationmManager), and then I choose the GetCommand with CommandKind_ConfigurationEntryPoints_Set method.  It will use only a clue to one of the entry points setting 3 by default (report, model Options, or Options of database Options).  If I try to make my own, it throws an index out of range.  It's position to James Grey here: http://forums.ni.com/t5/NI-TestStand/Calling-a-Configuration-Entry-Point-from-a-C-code-module/td-p/1... (I'm not in .NET well.  I just want to use activex steps in TS).  The default 3 those who work perfectly.  It's only when I try my own that I added.

    Any thoughts?

    When you run again you do execution of process template or a direct call to the sequence? If you make an execution of process model with a sequence of the client file and the specified model, it must call reminders. I don't know why the case of app Manager you try does not work. Maybe someone else can help with that. I wanted to just suggest the new approach of the execution because it looks simpler.

  • Windows script host cannot be reached on this computer

    Windows script host cannot be realized on this computer, for further details, contact the system administrator

    (I used google trnslate for massage, there might be some difference between this and the ouanoufi one), (I am the administrator)

    This thing pops up evry 2 mins and its relly scared me to please you relly please I really need a solution!

    Original title: windows script host

    Hi Quti,

    Thanks for posting your question on the Forums of community of Microsoft.

    I appreciate your efforts to explain the matter in English.

    1. You did it of any significant changes to the computer before this problem?
    2. What anti-virus program is installed in your system?

    Windows Script Host (WSH) enables scripts to be run directly in Windows by double-clicking a script file or by typing the name of a script file at the command prompt. Such as Microsoft Internet Explorer, WSH is a controller of ActiveX script engines and the scripts are written in Microsoft Visual Basic Script.

    So, this could be the visual basic script that loads the background that is causing the problem. By starting the computer in selective startup with only necessary Microsoft services in operation, we can refine the question of which program is the cause. This process is known as a clean boot.

    How to perform a clean boot in Windows
    http://support.Microsoft.com/kb/929135

    Note: See "how to reset the computer to start normally after a boot minimum troubleshooting" to prepare the computer to start as usual after a repair.

    Hope this information is useful. If the problem still persists, please post back for further assistance, we will be happy to help you.

  • Installation of the application with the engine running and system Config API kills many services OR

    If I have an empty Windows 10 computer and install LabVIEW 2015 SP1f5 Run-time-Engine, then System Configuration 15.3.

    I see that several OR services are running OK on the machine subsequently:

    However, if I can install a built (LabVIEW 2015SP1) app - using an installer which includes also the 2015 SP1f5 RTE and the configuration of the system API 15.3, five services will not start and cannot be started manually either (affecting all the services into recovery mode restart fails too). Error code when you try to manual start is 1068 that indicates they are missing a dependency, but * any * of them will start...

    I suspect that is the reason that neither Max 15.3 ends with a timeout during the peripheral configuration warning - AND my use of RAD / system configuration set image function is a failure...

    Why the hell the same software support (which should really be installed in all cases, the application itself must be installed) has this devastating beats me. The only way to obtain the services of backup and running is to uninstall everything, even to delete all files remaining and records... and then reinstall the original RTÉ and SysConfigs.

    The problem seems to be a sort of obscure corruption both of my computers for development... I took the same source code and built the installer on a third computer with all the same IDE versions, and voila - everything works well.

    It would be good to know exactly what the problem is, but for now at least, I have a solution... (hopefully fix my machines and/or before you wipe them clean and reinstall the IDE together on them will get back on track...) Without knowing what the cause was however makes me wonder if I might have the same problem again later).

  • Appeal of determinations engine (10.3) with Java API

    Are there examples of code was over what to call the engine with the Java API for 10.3 OPA?

    Hi Robert,.

    What would a full example code "? Examples of code using the OPA developer should demonstrate each of the various tasks needed to use the engine of determinations.

    Kind regards
    Brad

  • Script error when you start using the ActiveX API

    Hello

    I try to start the TIARA of c# application and identify the data portal.

    This is the code I use in c#:

    tiara. CmdExecuteSync ("wndshow ('shell', 'normal')");
    tiara. CmdExecuteSync ("ScriptStart ('g:\\Build\\script2.)") (VBS') ");

    The first command is ok, tiara is displayed.

    The other does not, the following error occurs:

    Error in (line: 1 column: 1); Invalid character

     

    I don't understand why, because when I run directly in the tiara, the same script works.

    Does anyone have an idea on what is wrong?

    Maybe there's another way to do.

    I want to do this is to automatically erase the data portal when tiara starts.

    For me, it's stupid display sample data in the data portal whenever the software is launched.

    I think that NEITHER should change that.

    Thanks for the reply.

    CFOE

    Hi CFOE,

    Like a lot of our users and our sales engineers have a set of sample data to quickly see the/try features tiara with.

    If everything you want to do is clearly by program data portal, you should be able to do so by placing an order directly to the argument:

    tiara. CmdExecuteSync ("DataDelAll");

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • Current stage of the display with API

    Hello

    I'm using LabVIEW 2009 AP1, and I call a sequence of TestStand 4.2 by using the API. I do not use the operator interface, because this isn't a graphical interface, but a module which runs just a sequence.

    I have reproduced essentially calls listed here .NET:

    http://forums.NI.com/T5/NI-TestStand/calling-user-created-TestStand-sequence-from-net/m-p/703125?Que...

    Only with the engine of the activeX LabVIEW, properties and methods. So I have references to the TS engine, movie file, the process model and execution.

    What I need is access to the current name of the step. I don't need the whole sequence Viewer, essentially just to access the 'Step.Name' property at any specific time. I guess it would be accessible through the reference of the performance, but I am unable to track him down. I suspect it will get a reference to a subproperty of the execution and then acting on it somehow, but I can't get there from here.

    Any ideas?

    Thank you

    Tim

    Hi Tim,.

    Only two other solutions:

    If you have a handle to the execution of your

    you could use Execution.GetThread () Note: you collate property Execution.NumThreads how they are present.

    lets hope there is only one!

    Access the thread and get a context with Thread.GetSequenceContext

    Now you should be able to access the name with SequenceContext.Step.Name

    Another solution to this sort of thing might find:

    http://forums.NI.com/T5/NI-TestStand/is-is-possible-to-retrieve-a-sequence-context-through-a-new/m-p...

    related to this: http://forums.ni.com/t5/NI-TestStand/Marshalling-the-IEngine-object/m-p/666852

    I hope this also helps

    Jürgen

  • Looking for advice on navigation in the TestStand API.

    I use TestStand for a few months now (self-taught using a LV architect with experience of the TS) and I think I will do certain things programmatically at run time and finished watching the massive array of properties/methods, etc. and ask yourself who are the properties/methods that will allow me to do what I have in mind.  Is there something fundamental missing in learning to understand which path to take to get down to the specific class and property/method interests me?

    For example, at the moment I am trigger some additional operations on the process model in addition to running the main client generated when you enter Test DUT. I would like to be able to programmatically from within TS itself, or more probably of LabVIEW or hide these tabs when running... I guess it's possible.  I know that executions can be set initially hidden but a search for 20 minutes of the API not immediately revealed magical items to let me do this programmatically.

    Hey, smoke,

    The ApplicationMgr TestStand is located within the TestStand UI control server. To access the Application Manager, you first need to action a step ActiveX (because it is an ActiveX control) and RunState.Engine.GetInteralOption (InternalOption_ApplicationManager), you get a Manager Application object.

    Example:

    "Select the Module tab then under Automation server" NI TestStand XXXX UI controls (Ver X.X)

    The object reference"RunState.Engine.GetInteralOption (InternalOption_ApplicationManager)

    Class object' ApplicationMgr (IApplicationMgr)

    Get the property executions

    Which returns an object reference and class performances, thus, create a variable(Local,FileGlobal,etc) of object reference to use to retrieve the properties of the Application Manager.

    Also note that to get the individual properties of your Application Manager object you won't be ActiveX measures for the properties you want.

    I hope this helps.

  • How to use the Teststand API DisplayEditNumericFormatDialog method

    Hello

    I have to create a report for Teststand coustom generator plugin using c#. In the Teststand API is a built-in method called 'DisplayEditNumericFormatDialog '.

    http://zone.NI.com/reference/en-XX/help/370052M-01/tsapiref/reftopics/propertyobject_displayeditnume...

    Is there a way to set the value of the sample of the window that appears if the method is called?

    I do the following things:

    private void button1_Click (object sender, EventArgs e)
    {
    mChanged = true;
    bool tempbool;

    PropertyObject tempobject = mEngine.NewPropertyObject (PropertyValueTypes.PropValType_Number, false, "", 0); creates a temporary PropertyOgject to view the EditNumericFormatWindow

    tempobject. NumericFormat = mConfig.GetValString (P_PluginSpecific_Options_NumericFormat, 0); read the digital format of the plugin options
    tempobject. DisplayEditNumericFormatDialog ("Digital Format", out (tempbool), 1); View the EditNimericFormatWindow

    If (tempobject. NumericFormat == "") mConfig.SetValString (P_PluginSpecific_Options_NumericFormat, 0, "%$.13g");
    else mConfig.SetValString (P_PluginSpecific_Options_NumericFormat, 0, tempobject.) NumericFormat);

    MessageBox.Show (tempobject. NumericFormat.ToString ());
    }

    Thanks in advance

    Hello f4bo,

    attached is a sequence that shows how this can be done.

    Locals.Local = RunState.Engine.NewPropertyObject (PropValType_Number, False, "", 0x1),.
    Locals.Local.AsPropertyObject.NumericFormat = "%b"
    Locals.Local.AsPropertyObject.SetValNumber ("", 0, 20),.
    Locals.Local.AsPropertyObject.DisplayEditNumericFormatDialog ("false title", False, 0)

  • Modification of user passwords / privileges via API

    I work with the API user in a custom user Manager utility to perform all the basic operations of an admin of luminaire (create, modify, delete).

    Above all, the tool is very simple, but I'm looking to see if anyone else has experienced two elements that are irking me that exist as features of the Engine.EditUserDialog () method.

    When you change an existing via the existing method of TS user, you can change the password & privileges without headaches.  However when you use the raw API none of these simple tasks seem trivial.

    (1) when 'I' User.Password, the chain is (naturally) scrambled to prevent casual snooping.  In my view as dialog box * anyway, so not done wrong. However, TS doesn't seem to know if it is powered by the chain on the side 'set' of the equation is already coded and based on my tests, seems to be scrambling twice if no change is made to this field.  Is it possible to implement User.Password which will _not_ force a "scramble"?  (in case I want to put the password to the value it was already?)

    Normally, I would just omit the 'set' action if I didn't change the value. But because of other circumstances (see below), I don't have that luxury this time.

    (2) in the API User.Privileges is a property read-only even for administrators.  Is there a work around for this for when an administrator wants to upgrade/downgrade a user access?  It seems to me that the achievable only thing to do is copy the info from the old user object, destroy it and make the new user with the correct privilege container object.  Adjust assignments of UserGroupList is pretty easy, but there is no way to modify an existing user privileges...

    Curious!

    Hi Elaine,.

    I think you just need to modify the members of a particular group.

    That you have defined a new user Joe Brown as a technician but later, you will need to change to be an operator.

    All you do is remove a GroupUser technician members and add operator GroupUser members. You need not resubmit the password.

    Get a reference to Engine.UserGroup ("technician")

    with this reference, get a picture of the User.Members

    Find out where the user is in the table and remove this item

    close the reference User.Members

    Get a reference to Engine.UserGroup ("operator")

    with this reference, get a picture of the User.Members

    Add Joe Brown at the members table.

    close the reference User.Members

    Joe Brown will now be an operator and you do not have to change its coordinates.

    I noticed that by using the User Manager to see the changes that I could see that Joe Brown had changed groups and it has been removed from a group, but it has not been shown in the new group.saving the user changes and disconnect and connect again the changes where now seen.

    Then maybe you need to validate the user to the new group.

    See if that helps

    Concerning

    Ray Farmer

  • Load a VI (including the API, TestStand) in TestStand

    There,

    I want to load a VI in without LabVIEW TestStand.

    Version of LabVIEW 8.5

    TestStand Version 4.0

    The PC with TestStand just to LabVIEW 8.5 run-time engine, and the VI is used to import data into globals station; Also, this VI called TestStand API and motor TestStand.

    On a PC with LabVIEW and TestStand, everything is OK.

    But, on a PC with Runtime only, even if I configure adapters in time TestStand and select run in LabVIEW 8.5, an error message (unable to load VI...)

    I tested with a simple VI (dialog box), everything is ok;

    But with screws unpacking called API, TestSTand, an error

    You have an idea?

    Thank you for your answers

    Yes, I understand that you use TestStand development system and the screws are in a law degree there. What I ASKED, it was where you placed the TestStand screws on the pc only run time. Looks like you do not place them anywhere. If you do not, how do you think that the top-level VI will work? Don't you think that these screws are included in the runtime engine don't you? They are not. Only the ex of LabVIEW is the execution engine.

    You should really consider using the deployment tool.

  • With the API c for linux, how can I decimate the clock at a 10 kHz signal?

    Hiya.  I know that the clock signal is decimated on the chessboard in a few places... is there a function in the linux api c for export a decimated signal?  Can I choose any arbitrary decimation, or am I limited to the various bases of time used on the map (a series of M in my case)?

    Thank you!

    You use DAQmx (8.0 or 8.0.1)?  If so, you have a few options:

    Counter output:  Available frequencies are {80 MHz, 20 MHz, 100 kHz, external} / {2: 2,32-1}

    Output frequency:  Available frequencies are {10 MHz, 100 kHz} / {01:16}

    Export clock of AI or AO task:  Available frequencies are {external 20 MHz, 100 kHz,} / {2: 2,32-1}, but going too fast will result in a material synchronizing error on ADC or DAC.

    On the M-series: DAQ there are two counters, a single frequency output, HAVE a single timing engine and a single engine timing AO (if your motherboard supports AO).  Simply choose any subsystem available to you.  If you have need of a constant 10 kHz and then the frequency output is perfectly adequate, it is programmed similar to a meter output (reference Dev1/freqout instead of Dev1/ctr0).

    If I remember correctly (I'm on Windows for now), on Linux the C ANSI DAQmx examples should be installed in \usr\local\natinst\nidaqmx\examples.  It should be an example of output included continuous meter.

    Best regards

  • Call to API InsertStep

    I am creating a testsequence with CVI wjith the following code:

    #include 'c:\Appl\National Instruments\TestStand 4.2.1\API\CVI\tsapicvi.h '.
    CAObjHandle TSEngine;
    CAObjHandle SequenceFile;
    CAObjHandle MainSequence;
    CAObjHandle stage;
    State int;
    int main (void) {}
    status = TS_NewEngine ("", & TSEngine ");
     
    status = TS_EngineNewSeqFile (TSEngine, NULL, & SequenceFile);
       
    status is TS_SeqFileGetSequenceByName (SequenceFile, NULL, "MainSequence", & MainSequence);.
    status = TS_EngineLoadTypePaletteFilesEx (TSEngine, NULL, TS_ConflictHandler_Error, 0);
     
    status = TS_EngineNewStep (TSEngine, TS_FlexCVIAdapterKeyName, NULL, 'MyType', &Step);)
    status = TS_StepSetName (Step, NULL, "Blah blah blah");
     
    status = TS_SequenceInsertStep(MainSequence,,Step,0,TS_StepGroup_Main);
     
    status = TS_SeqFileSave (SequenceFile,NULL,"C:\\newSequence.seq");
      
    Release
    status = TS_EngineReleaseSeqFileEx (TSEngine, NULL, SequenceFile, 0, NULL);
    }

    As createst a new sequence with a step called as expected, "blah blah blah". The problem is that the Steptype "MyType" includes an installer of the default module, but created step has an empty module configuration. I expect that the new stage gets its configuration of modules of the model step.   What I'm missing here?

    I see what is the problem. You should be passing an empty string for the name of the card key parameter in your call to Engine.NewStep. According to the help of the API for Engine.NewStep for this parameter: "pass an empty string to use the card, the type of step means... »

    Hope this helps,

    -Doug

  • The execution of the sequence TestStand in LabVIEW via TS - API: execution different times for the same sequence

    Hello - the members of the Forum.

    I have a problem about the execution of a TestStand sequence into LabVIEW. I created a VI that offers the possibility to choose a sequence TestStand-file and then executes the sequence using the TestStand API. The implementation is based on an example in C++-Application found the following link:

    http://forums.NI.com/T5/NI-TestStand/unreleased-references-using-engine-API-in-C/m-p/2927314#M46034

    The app works pretty solid where the VI is executed the first time. The VI treats the sequence chosen in an acceptable time.

    But where execution is started again, the sequence takes approx. 30 sec more than in the first case.

    So far I have not found a solution and hope someones got a clue about this problem...

    I use 2013 LabVIEW and TestStand 2013.

    I enclose my own VI, a sequence of the specimen with a small sample of VI, so you can reproduce the problem.

    Kind regards

    TobiKi


  • How to use the CWGPIB API

    Hello

    I want to use the CWGPIB component to control a GPIB device or spectrum.

    The first thing is to find what peripheral GPIB is on the bus, but I don't know what given API can be used to analyze the device by feeding back of settings such as address.

    Can someone help me?

    Thank you very much

    Hey JK,.

    I found an article on the Delphi application using programs 488.2.

    http://www.NI.com/white-paper/4873/en/

    http://digital.NI.com/public.nsf/allkb/F6E5713B040699E38625630600554D79

    I also found this http://www.ni.com/support/cw/cwtechspec.htm

    It seems that Borland Delphi and C++ Builder support Not IVI ComponentWorks ActiveX controls

    Because controls have been developed in Visual Basic (i.e., Delphi and C++ Builder do not support developed with Visual Basic ActiveX controls).

Maybe you are looking for

  • Try to get the repair of the iPhone screen in France purchased the Canada

    I broke the screen on my iPhone 6. It was my fault, it's more under warranty and I do not have the AppleCare. I bought it in the Canada, and I am now based in France for a long time so I want to get it fixed here. I filled the form of repair of produ

  • Blue Tooth Mouse pairing attempts failed on Mac mini after several months of service

    Hello support team, My attempts pairing Blue Tooth Mouse (for my "Easy blue Typhoon" made in Germany) are retained is NOT on my Mac mini once I used the 'Typhoon BlueEasy' mouse for several months in good pairing function combined with my Mac mini. A

  • Importer of bookmarks it removes them to another browser?

    Wanted to work around a glitch neo yahoo group - was going to import my IE Favorites, but don't want to delete IE until I see if it works - so need to know if I import into firefox if it removes IE

  • Satellite L350-264 slow on Web sites

    Hello world I got this laptop a few days ago and I have download an antivirus immediately but I have problems with the laptop and I was wondering if someone can help me. The laptop is slow on Web sites, it takes a while to get the website up and some

  • G510 i3 - 4000 M Wifi

    In my new lenevo g510 i3 4000 M, I installed the windows 32 bit 8.1. There is no use of the F7 key with a plane on the keyboard sign. FN + F5 or Fn + F7 worked since the beginning of the day, I bought this model. I've never used the keys. I also trie