Station global object references

Are station global object references stored in a file like other station globals? If so, how?
Can the values of attributes of the object be recovered?
Solved!
Go to Solution.

The values of references are not persisted to files. This is not technically feasible in the general case, since a reference can point to just about any ActiveX or .net object.
Message Edited by James Grey on 08-06-2009 10:05 AM

Similar Messages

  • Expected Object Reference?

    Hello,
    I am attempting to create my own version of modelsupport2.dll's parallel UUT dialog.  (It will use the TestStand Sync Manager to enqueue requests just like the existing Parallel model's parallel UUT dialog does.)  I am faced with a couple issues right off the bat that don't make a whole lot of sense to me.
    For one thing, despite the fact that my dialog box (written in VB .NET by the way) is initialized in a sub-sequence of the TestUUTs execution entry point that is configured to run in a separate thread, the TestUUTs sequence still hangs around and waits for the dialog box to close before continuing on.  (This is clearly a problem since the whole point is to have the main thread continually process requests while the dialog box on a separate thread is busy enqueuing requests...)  Does anyone have any idea why that could be happening?  Maybe other sequence settings that I'm not aware of?
    Another problem I'm having (although I wasn't initially having this problem) is the following error message: "Expected Object Reference, found Object Reference".  The error code shows "-17308; Specified value does not have the expected type".  This happens in the .NET action step in which I call my .NET assembly to create the object representing the dialog.  The object reference specified for the create object call is a parameter called CustomDialogRefParam - a parameter of type Object Reference.  The TestUUTs execution entry point has a CustomDialogRef local variable of the same type, and it passes it by reference to the Run UUT Info Dialog subsequence...  The idea was that the Run UUT Info Dialog subsequence would create the object, and from that point on, it would be available to the TestUUTs sequence.  Is there anything fundamentally wrong with this idea, or does anyone have any suggestions as to what may be causing this sort of error?
    Thanks for any suggestions.  Let me know if I need to clarify anything.

    Hello,
    Thanks for the feedback.  I actually fixed the problem with the thread not operating independently, (although I can't say I'm completely sure why I needed to do what I did).  The function call that starts the dialog is passed the sequence context from TestStand.  In order to allow TestStand to continue I had to set the sequence context's thread to the "externally suspended" state.  I can now get it to work in a very simple fashion.  (Basically, all it does is open up and wait for the user to click the exit button.  When that happens, the dialog uses the sync manager component to enqueue the appropriate requests to cause TestStand to stop all test sockets and exit the "process dialog requests" consumer loop.  Only problem I have now, is that for some reason, if I put a break point in the sequence after the dialog has been initialized, execution on the main thread stops as expected, but then attempting to step into, step over, or continue cause it to just hang.  (I can't even terminate the process - I have to actually close TestStand entirely.)  So long as I don't pause execution though, it runs flawlessly.
    I'm still stuck on the passing of the .NET object reference though.  Oddly enough, it seems to work if I reference the object reference in a subsequence using the following syntax:
    RunState.Caller.Locals.CustomDialogRef
    But if I try to create an object reference parameter and pass the custom dialog ref by reference, it still fails with this strange "type mismatch"...  I still can't find any solution that works for accessing the object reference from sequences that are started on a separate execution...  Maybe I can store the reference in a station global...  I hate using globals though - it goes against my idea of good programming.
    Anyway, thanks again, and any additional suggestions are certainly appreciated.

  • Station Globals modified externally are not reflected

    Hi,
    I am having an UI developed in CVI(EXE1) which runs a teststand sequence. The flow of sequence is controlled by Station Globals.
    The Station Globals i am trying to control from another user interface so that the flow in EXE1 will be exrcised. But some reason the updated station globals are not reflected in EXE1.
    In the sequence i have used Engine.ReloadGloabls() but some reason the values are not reflected.
    Anyone can help me out on this.

    Hey ramjeev,
    Are you certain that the globals are being saved from the location you edited them before you call the Engine.ReloadGlobals()? Also, as mentioned in the function help here, you should clear or destroy your existing references to the globals before calling the ReloadGlobals() method. This is because any existing references will retain their values rather than being updated with the method call.
    However, I'm not sure if this is the best approach for your application. Typically, Station Globals are used for configuration settings, particularly those that need to persist between executions. Since you're wanting to control this test sequence from another user interface, I wonder if UIMessages or a synchronization object such as a queue or notifier would be better for this purpose. Have you explored any of these options?
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • TestStand station globals sharing between two applicatio​ns

    Hi,
    I am having two applications developed with CVI 8.5 and TestStand 2010. Both are accessing same station global variable”ESSX2_0.Aux.Status”. Please create a station global in TestStand 2010.
    The idea is the Write application shall get the status of the Aux status control at an interval of 1 sec and updates the station global. The Display application shall read the station global and displays the value of the station global.
    The write application is updating the station global and I can see the status in Teststand Sequence editor. But my updated value is not getting reflected to my Display application unless I restart the application. I am understanding that the status of the station global variables is taken at the time of the application start in my display application and is not getting refreshed to get the changes from external applications till we restart.
    Please help me out so that the display application keeps looking for the updated values.
    Attachments:
    Aux Display.zip ‏1759 KB
    Aux Write.zip ‏1760 KB

    Station globals are not shared across processes unless you pass a reference to them across processes. There are several ways to do so. The easiest thing to do is create a TestStand sync object like a notification or queue which can transfer a reference to the station globals across processes. Or use the notification or queue directly as your communication mechanism. TestStand sync objects whose name you start with an asterisk '*' character are automatically shared across processes. You can use Engine.GetSyncManager() to get the appropriate sync manager and then use the SyncManager API. Please see the help for more details.
    -Doug

  • Error while accessing station global in LabVIEW

    I am trying to access the teststand station global value in the LabVIEW using activex methods.
    If I am reading default station global (TS.LastUserName) i am able to read the value.
    However if i am trying to read the value of the string station global which i am updating through running sequence i am getting an error as follows:
    "Unknown variable or property name 'ExecutionTime'.
    Error accessing item 'ExecutionTime'. in GetGlobal.vi" where ExecutionTime is the name of my station global.
    Error code is -17306.
    What is going wrong?

    Couple of suggestions for you:
    If you are trying to read the execution time in your user interface, I suggest: http://zone.ni.com/reference/en-XX/help/370052K-01/tsapiref/reftopics/obsolete_thread_postuimessage_... method to pass data to UI
    Also, station globals are not dynamic like other variables (Locals / FileGlobals etc) which means that you wont get an updated value until the stationglobals.ini file is saved. So depending on what you are trying to read, this may or may not be your best choice.
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • SQL 2012 install fails with 'Object reference not set to an instance of an object" On windows 8.1 Hyper-V

    Hi All,  
    Could you please help me here? On my Laptop which is running on windows 8.1 Operation system, I enabled the Hyper-V client feature and setup the Windows Fail-over Clustering using Windows 2012 Standard Edition. So, there are three machines which are running
    on the Hyper-V. Below are the machine details;
    1st machine - Working as Domain controller and its name is "ACONDomainGroup" and allocated to
    1GB RAM to use.
    2nd machine - Working as Node1 and its name is "AconNODE1W2K12STD"
    and allocated to 2.5GB RAM to use.
    3rd machine - Working as Node1 and its name is "AconNODE1W2K12STD"
    and allocated to 1.5GB RAM to use.
    and the windows virtual cluster name is "AconWinCLTR". While I am doing the SQL Cluster Installation, I am getting below mentioned error. all systems have 4.5 .net installed. May you please guide me where and what i am missing to complete sql clustering.....
      Update Source:                 MU
    User Input Settings:
      ACTION:                        InstallFailoverCluster
      AGTDOMAINGROUP:                <empty>
      AGTSVCACCOUNT:                 <empty>
      AGTSVCPASSWORD:                <empty>
      ASBACKUPDIR:                   Backup
      ASCOLLATION:                   Latin1_General_CI_AS
      ASCONFIGDIR:                   Config
      ASDATADIR:                     Data
      ASLOGDIR:                      Log
      ASPROVIDERMSOLAP:              1
      ASSERVERMODE:                  MULTIDIMENSIONAL
      ASSVCACCOUNT:                  <empty>
      ASSVCPASSWORD:                 <empty>
      ASSVCSTARTUPTYPE:              Automatic
      ASSYSADMINACCOUNTS:            <empty>
      ASTEMPDIR:                     Temp
      COMMFABRICENCRYPTION:          0
      COMMFABRICNETWORKLEVEL:        0
      COMMFABRICPORT:                0
      CONFIGURATIONFILE:             
      ENU:                           true
      ERRORREPORTING:                false
      FAILOVERCLUSTERDISKS:          <empty>
      FAILOVERCLUSTERGROUP:          
      FAILOVERCLUSTERIPADDRESSES:    <empty>
      FAILOVERCLUSTERNETWORKNAME:    <empty>
      FEATURES:                      
      FILESTREAMLEVEL:               0
      FILESTREAMSHARENAME:           <empty>
      FTSVCACCOUNT:                  <empty>
      FTSVCPASSWORD:                 <empty>
      HELP:                          false
      IACCEPTSQLSERVERLICENSETERMS:  false
      INDICATEPROGRESS:              false
      INSTALLSHAREDDIR:              C:\Program Files\Microsoft SQL
    Server\
      INSTALLSHAREDWOWDIR:           C:\Program Files (x86)\Microsoft SQL Server\
      INSTALLSQLDATADIR:             <empty>
      INSTANCEDIR:                   C:\Program Files\Microsoft
    SQL Server\
      INSTANCEID:                    <empty>
      INSTANCENAME:                  <empty>
      ISSVCACCOUNT:                  NT AUTHORITY\Network
    Service
      ISSVCPASSWORD:                 <empty>
      ISSVCSTARTUPTYPE:              Automatic
      MATRIXCMBRICKCOMMPORT:         0
      MATRIXCMSERVERNAME:            <empty>
      MATRIXNAME:                    <empty>
      PID:                           *****
      QUIET:                         false
      QUIETSIMPLE:                   false
      RSINSTALLMODE:                 DefaultNativeMode
      RSSHPINSTALLMODE:              DefaultSharePointMode
      RSSVCACCOUNT:                  <empty>
      RSSVCPASSWORD:                 <empty>
      RSSVCSTARTUPTYPE:              Automatic
      SAPWD:                         <empty>
      SECURITYMODE:                  <empty>
      SQLBACKUPDIR:                  <empty>
      SQLCOLLATION:                  SQL_Latin1_General_CP1_CI_AS
      SQLSVCACCOUNT:                 <empty>
      SQLSVCPASSWORD:                <empty>
      SQLSYSADMINACCOUNTS:           <empty>
      SQLTEMPDBDIR:                  <empty>
      SQLTEMPDBLOGDIR:               <empty>
      SQLUSERDBDIR:                  <empty>
      SQLUSERDBLOGDIR:               <empty>
      SQMREPORTING:                  false
      UIMODE:                        Normal
      UpdateEnabled:                 true
      UpdateSource:                  MU
      X86:                           false
      Configuration file:            C:\Program Files\Microsoft SQL Server\110\Setup
    Bootstrap\Log\20140420_052344\ConfigurationFile.ini
    Rules with failures:
    Global rules:
    There are no scenario-specific rules.
    Rules report file:               C:\Program Files\Microsoft SQL Server\110\Setup
    Bootstrap\Log\20140420_052344\SystemConfigurationCheck_Report.htm
    Exception summary:
    The following is an exception stack listing the exceptions in outermost to innermost order
    Inner exceptions are being indented
    Exception type: System.NullReferenceException
        Message: 
            Object reference not set to an instance of an object.
        HResult : 0x80004003
        Data: 
          HelpLink.EvtType = 0x9AF1AE5E@0x44A889F9
          DisableWatson = true
        Stack: 
            at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.ShouldRuleRun(Rule
    rule)
            at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.IsRuleSkipped(Rule
    rule)
            at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.LoadRule(String
    ruleId, List`1 ruleProperties, XmlSchema ruleSchema, XmlElementParserFactory elementParser)
            at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.LoadRules(IEnumerable`1
    ruleIds)
            at Microsoft.SqlServer.Configuration.InstallWizard.RunRuleProgressController.Initialize()

    Dharmendra, the log details are incomplete are not sufficient enough for I guess anyone to help. Besides, from the details above, I can see that the Failover Cluster Disks are not selected:-
    FAILOVERCLUSTERDISKS:          <empty>
      FAILOVERCLUSTERGROUP:          
      FAILOVERCLUSTERIPADDRESSES:    <empty>
      FAILOVERCLUSTERNETWORKNAME:    <empty>
    Please mark the answer as helpful if i have answered your query. Thanks and Regards, Kartar Rana

  • SQL 2012 install fails with 'Object reference not set to an instance of an object.'

    Hi, I'm trying to install SQL 2012 RTM Enterprise on a Windows 2008 R2 single node cluster.
    The installer starts goes through some checks and then fails with the message 'Object reference not set to an instance of an object.' It happens while the small 'wait while...' dialog box is
    showing, another window pops up briefly (I think the feature selection window - can't really tell as it doesn't draw before disappearing). Then the ‘Object reference not set’ message comes up.
    From the summary log file..
    Overall summary:
    Final result:                 
    Failed: see details below
    Exit code (Decimal):          
    -2147467261
    Exit facility code:           
    0
    Exit error code:              
    16387
    Exit message:                 
    Object reference not set to an instance of an object.
    Start time:                   
    2012-09-26 08:52:53
    End time:                     
    2012-09-26 08:54:08
    Requested action:             
    InstallFailoverCluster
    Exception help link:          
    http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.2100.60&EvtType=0x9AF1AE5E%400x44A889F9&EvtType=0x9AF1AE5E%400x44A889F9
    Exception summary:
    The following is an exception stack listing the exceptions in outermost to innermost order
    Inner exceptions are being indented
    Exception type: System.NullReferenceException
    Message:
    Object reference not set to an instance of an object.
    Data:
    HelpLink.EvtType = 0x9AF1AE5E@0x44A889F9
    DisableWatson = true
    Stack:
    at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.ShouldRuleRun(Rule rule)
    at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.IsRuleSkipped(Rule rule)
    at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.LoadRule(String ruleId, List`1 ruleProperties, XmlSchema ruleSchema, XmlElementParserFactory elementParser)
    at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.LoadRules(IEnumerable`1 ruleIds)
    at Microsoft.SqlServer.Configuration.InstallWizard.RunRuleProgressController.Initialize()
    I have rebooted, tried different media, tried uninstalling the setup files and rerunning but always get the same result.
    Any help would be gratefully accepted.
    Thanks,
    Bruce.

    Hi Alberto,
    Whenever I am trying to install SQL 2012 with SP1 clustering, I am getting below error. Can you please advise on this. 
    Additional information are
    Windows Servers Version and Edition - Windows 2012 Strandedition
    SQL Server Version and Edition - SQL 2012 with SP1
    All the machines are running on Hyper-V and Passed the cluster validation test successfully. there is no issue. The servers' (Nodes) names are;
    DomainServerName - ACONDomainGroup (1gb ram allocated)
    Node1 - AconNODE1W2K12STD (2.5gb ram allocated )
    Node2 - AconNODE2W2K12STD (1.5 ram allocated allocated)
    WindowsClusterName - AconWinCLTR
    Below is  Summary.txt Error
      Update Source:                 MU
    User Input Settings:
      ACTION:                        InstallFailoverCluster
      AGTDOMAINGROUP:                <empty>
      AGTSVCACCOUNT:                 <empty>
      AGTSVCPASSWORD:                <empty>
      ASBACKUPDIR:                   Backup
      ASCOLLATION:                   Latin1_General_CI_AS
      ASCONFIGDIR:                   Config
      ASDATADIR:                     Data
      ASLOGDIR:                      Log
      ASPROVIDERMSOLAP:              1
      ASSERVERMODE:                  MULTIDIMENSIONAL
      ASSVCACCOUNT:                  <empty>
      ASSVCPASSWORD:                 <empty>
      ASSVCSTARTUPTYPE:              Automatic
      ASSYSADMINACCOUNTS:            <empty>
      ASTEMPDIR:                     Temp
      COMMFABRICENCRYPTION:          0
      COMMFABRICNETWORKLEVEL:        0
      COMMFABRICPORT:                0
      CONFIGURATIONFILE:             
      ENU:                           true
      ERRORREPORTING:                false
      FAILOVERCLUSTERDISKS:          <empty>
      FAILOVERCLUSTERGROUP:          
      FAILOVERCLUSTERIPADDRESSES:    <empty>
      FAILOVERCLUSTERNETWORKNAME:    <empty>
      FEATURES:                      
      FILESTREAMLEVEL:               0
      FILESTREAMSHARENAME:           <empty>
      FTSVCACCOUNT:                  <empty>
      FTSVCPASSWORD:                 <empty>
      HELP:                          false
      IACCEPTSQLSERVERLICENSETERMS:  false
      INDICATEPROGRESS:              false
      INSTALLSHAREDDIR:              C:\Program Files\Microsoft SQL Server\
      INSTALLSHAREDWOWDIR:           C:\Program Files (x86)\Microsoft SQL Server\
      INSTALLSQLDATADIR:             <empty>
      INSTANCEDIR:                   C:\Program Files\Microsoft SQL Server\
      INSTANCEID:                    <empty>
      INSTANCENAME:                  <empty>
      ISSVCACCOUNT:                  NT AUTHORITY\Network Service
      ISSVCPASSWORD:                 <empty>
      ISSVCSTARTUPTYPE:              Automatic
      MATRIXCMBRICKCOMMPORT:         0
      MATRIXCMSERVERNAME:            <empty>
      MATRIXNAME:                    <empty>
      PID:                           *****
      QUIET:                         false
      QUIETSIMPLE:                   false
      RSINSTALLMODE:                 DefaultNativeMode
      RSSHPINSTALLMODE:              DefaultSharePointMode
      RSSVCACCOUNT:                  <empty>
      RSSVCPASSWORD:                 <empty>
      RSSVCSTARTUPTYPE:              Automatic
      SAPWD:                         <empty>
      SECURITYMODE:                  <empty>
      SQLBACKUPDIR:                  <empty>
      SQLCOLLATION:                  SQL_Latin1_General_CP1_CI_AS
      SQLSVCACCOUNT:                 <empty>
      SQLSVCPASSWORD:                <empty>
      SQLSYSADMINACCOUNTS:           <empty>
      SQLTEMPDBDIR:                  <empty>
      SQLTEMPDBLOGDIR:               <empty>
      SQLUSERDBDIR:                  <empty>
      SQLUSERDBLOGDIR:               <empty>
      SQMREPORTING:                  false
      UIMODE:                        Normal
      UpdateEnabled:                 true
      UpdateSource:                  MU
      X86:                           false
      Configuration file:            C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20140420_052344\ConfigurationFile.ini
    Rules with failures:
    Global rules:
    There are no scenario-specific rules.
    Rules report file:               C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20140420_052344\SystemConfigurationCheck_Report.htm
    Exception summary:
    The following is an exception stack listing the exceptions in outermost to innermost order
    Inner exceptions are being indented
    Exception type: System.NullReferenceException
        Message: 
            Object reference not set to an instance of an object.
        HResult : 0x80004003
        Data: 
          HelpLink.EvtType = 0x9AF1AE5E@0x44A889F9
          DisableWatson = true
        Stack: 
            at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.ShouldRuleRun(Rule rule)
            at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.IsRuleSkipped(Rule rule)
            at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.LoadRule(String ruleId, List`1 ruleProperties, XmlSchema ruleSchema, XmlElementParserFactory elementParser)
            at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.LoadRules(IEnumerable`1 ruleIds)
            at Microsoft.SqlServer.Configuration.InstallWizard.RunRuleProgressController.Initialize()

  • RE: Global Object -- the last word

    Chris,
    You are correct. My apologies for not testing my reply sooner. The
    OLM.RegisterObject method does touch the NameService, but OLM caches
    registrations and therefor OLM.BindObject is a local call. So there is one
    network call, but that's all (unless the cache entries are aged out).
    Andrew,
    After testing all of the proposed solutions, using task.part.apptitle seems
    the easiest one to implement. Subclass from TextNullable and add an
    attribute to hold the reference to LocalCache. Remember, TextNullable can
    not be anchored.
    Caveat, you are relying on a Forte feature which may not be guaranteed to
    work the same way in the future.
    At 01:59 PM 10/17/97 -0500, you wrote:
    Where would the network traffic come in? The object location manager
    is local, and if you assume the cache object is also local (there is
    one on each partition), I don't see where the network hit would be.
    Would you please enlighten me?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Chris Johnson
    BORN Information Services Group
    Forte National Practice
    Direct: 612-404-4409
    Fax: 612-404-4441
    http://www.born.com
    mailto:[email protected]
    From: David Vydra[SMTP:[email protected]]
    Sent: Friday, October 17, 1997 12:42 PM
    To: [email protected]
    Subject: RE: Global Object
    Guy,
    At 11:35 AM 10/17/97 -0500, you wrote:
    Another approach would be to use the partition's object locationmanager
    (task.part.objectLocationMgr) to register the partition's local cachecontainer object (LOCache) under a name based on the
    partition's name. Tasks needing the cache container can use the"bindObject" method to get the reference back.
    I believe this would generate network traffic for each bind, and if
    the
    objects in need of the local service are transient the overhead may be
    considerable.
    ========================================
    David Vydra
    Education Consultant
    Forte Software, Inc.
    [email protected]; phone: (510)986.3593

    Possible problems with using task.part.appTitle.
    1) Isn't appTitle part of the task? If it is, what happens when the
    task goes across a partition boundary? Does the appTitle get serialized
    and deserialized by Forte? As long as the cache itself is anchored this
    reference held in the appTitle is only a proxy. (But a TextNullable
    cannot be anchored.) If the cache is not anchored, won't the entire
    cache get serialized and deserialized at each partition boundary?
    2) If the appTitle goes with the Task when it crosses a partition
    boundary, what happens when some piece of code in the other partition
    attempts to use the cache? If the cache was able to be anchored,
    wouldn't there a network hit at this point? Also, haven't you just lost
    the 'local'ness of the local cache.
    3) What about serialization problems when you enter a partition that
    does not know about the cache object. Won't you get a deserialization
    error when you enter a non-application partition such as the Node
    Manager or Forte's run-time compiler?
    4) Version 3 provides appContext which can be used to hold any Object.
    This should probably only be used for very small objects or anchored
    object that are used infrequently on a different partition. Since
    appTitle cannot be anchored, why would you use it rather than
    appContext (Version 2 is a different story)? AppContext appears to be a
    more generic solution to the global object problem, one that Forte will
    support. Neither AppContext nor appTitle appear to be solutions to a
    local cache problem.
    John G. Bielejeski
    Born Information Services Group (http://www.born.com)
    Forte National Practice
    Voice: (612) 404-4116
    Fax: (612) 404-4440
    mailto:[email protected]
    From: David Vydra[SMTP:[email protected]]
    Sent: Sunday, October 19, 1997 7:04 PM
    To: [email protected]
    Subject: RE: Global Object -- the last word
    Chris,
    You are correct. My apologies for not testing my reply sooner. The
    OLM.RegisterObject method does touch the NameService, but OLM caches
    registrations and therefor OLM.BindObject is a local call. So there is
    one
    network call, but that's all (unless the cache entries are aged out).
    Andrew,
    After testing all of the proposed solutions, using task.part.apptitle
    seems
    the easiest one to implement. Subclass from TextNullable and add an
    attribute to hold the reference to LocalCache. Remember, TextNullable
    can
    not be anchored.
    Caveat, you are relying on a Forte feature which may not be guaranteed
    to
    work the same way in the future.
    At 01:59 PM 10/17/97 -0500, you wrote:
    Where would the network traffic come in? The object locationmanager
    is local, and if you assume the cache object is also local (thereis
    one on each partition), I don't see where the network hit would be.
    Would you please enlighten me?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Chris Johnson
    BORN Information Services Group
    Forte National Practice
    Direct: 612-404-4409
    Fax: 612-404-4441
    http://www.born.com
    mailto:[email protected]
    From: David Vydra[SMTP:[email protected]]
    Sent: Friday, October 17, 1997 12:42 PM
    To: [email protected]
    Subject: RE: Global Object
    Guy,
    At 11:35 AM 10/17/97 -0500, you wrote:
    Another approach would be to use the partition's object locationmanager
    (task.part.objectLocationMgr) to register the partition's local
    cache
    container object (LOCache) under a name based on the
    partition's name. Tasks needing the cache container can use the"bindObject" method to get the reference back.
    I believe this would generate network traffic for each bind, and if
    the
    objects in need of the local service are transient the overhead maybe
    considerable.
    ========================================
    David Vydra
    Education Consultant
    Forte Software, Inc.
    [email protected]; phone: (510)986.3593

  • How do you get a station global or any variable to be read across UUTs executing in the parallel Sequence model?

    Dear  Support,
    I have two questions regarding the parallel sequence model:
    I am trying to find a global variable or any variable that can be universally read from any thread / step .   For instance:
    - Parallel sequence Model
    - 2 UUTs
    - The main sequence has 20  steps
    - I am looking for a variable that can be read universally across both UUTs in any step.  I have tried many, even the station global variable - as a Boolean - for "Abort" .  But that did not work either.
    Question TWO:   How can I bring out this universal variable to the UI ?  Can you point me to an example?    Do I use the "Lookup"  ,.  I could not get that to work.  Can I use the "Label"  ?  I could not get that to work neither.
    Thanks! Brad
    Brad Whaley
    LabVIEW Certified Engineer

    1. http://digital.ni.com/public.nsf/allkb/21368C716B06780A86256A5C007075DB
    2. Post UI Message http://zone.ni.com/reference/en-XX/help/370052K-01/tsapiref/reftopics/engine_postuimessage_m/
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • Can't write to station globals in deployed system

    When I run Teststand distribution on the target system, I can’t write to the station globals from my custom application that uses the Teststand engine.  The following are the facts:
    When I run my custom application, my sequence can’t write to any of the station globals.  The function TS_PropertySetValString returns : -2147024890.
    I made sure that my distribution included the sequence editor.  When I run my sequence in the editor, I don’t get any errors AND the fields in the station globals are actually updated with the correct values.
    I have updated all of the users using the “User Viewer” in the sequence editor to make sure that the “Edit Station Globals” and “Grant All” are true.  I have added code to my custom application to query the engine for these flags and display them in a popup, the flags are TRUE.
    I also made sure that the “Check User Privileges” under the “User Manager” in the sequence editor is OFF.  It made no difference
    I am at a total loss.  Any ideas?
    Todd

    Inside my custom application EXE that launches the teststand engine, the following call works:
    tsErrChkMsgPopup(TS_PropertySetValString (m_oGlobals, &errorInfo, "TestConsoleInfo.Operator", 0, sText));
    The above call uses a globals object
    Inside the DLL, that is invoked by the sequence file being executed by my custom application, the following function fails with totally bogus info in the tsiErrorinfo structure.  And yes, the sequence handle is valid because this same sequence handle is used to read from the station globals, we just can't write to the station globals.
    iStatus = TS_PropertySetValBoolean(g_iTSseqHandle, &tsiErrorinfo,
             "StationGlobals.ErrorInfo.CurrentError.Occured",
             0, 1);
    The above call uses a sequence object
    Todd

  • Static vs object reference

    Good morning!
    I was wondering how you Java gurus make nice solutions for accessing variables and objects from outside its own class. An example:
    I have a mainframe extending JFram with (for instance)some textareas that I want public to classes cooperating with this mainframe. Up til now, I've set these textareas static so I can access them outside of my mainframe. Is this good practice? Pros & cons? Is it a better idea to pass the mainframe as a parameter to other swingclasses making objects(/references) of it?

    Look, it really depends what you want to do. But first let me try to clarify two things. Consider your example, you have a class MainFrame, with a global variable textArea:
    public class MainFrame
    JTextArea textArea = new JTextArea();
    }and in some other class, say TestFrame, you have an instance of MainFrame somewhere:
    MainFrame mf = new MainFrame();
    .1. Access specifiers: public
    Now, what is the difference of making textArea public or not? If it's public, you can access it in TestFrame directly via the instance of MainFrame, i.e, you can directly manipulate
    mf.textAreaYou should be aware, though, that this gives full access to everything that's public in textArea, and textArea might be manipulated outside your mf instance in ways you might not want or cannot accept for mf to function properly. Therefore, it is generally best practice to expose only those fields and variables which you really do need to manipulate from outside. And the way to do this is via getter and setter methods for these fields.
    I suggest you read up a little on acces specifiers public, "none", protected and private in any basic book on Java, or in the documentation your find on your left.
    2. The meaning of static:
    Of you declare the variable textArea to be static, you say that all instances of MainFrame shall share one instance of textArea. That is, if you have two instance of MainFrame and you manipulate the static variable textArea in one of them, the other's textArea is changed as well (since it is the same, doh!). There are good reasons for using static variables and methods, as for instance in the example given by gdub, when you want a singleton object, i.e., when you want to make sure there is only one instance of a particular class in your application.
    There's much more to static, of course, but again I suggest you best read it up in a decent book.
    Now to your original problem: Somewhere in your TestFrame class you want to manipulate the textArea in a MainFrame Object. So if you have a reference to that object, make the appropriate field in that object's textArea available via getter and setter! And if you don't have a reference, I strongly suspect that your overall OO architecture is rather poor.
    Cheers, HJK

  • Casting of object reference

    Hi all,
    i have two classes 'super' and 'sub'. 'sub' inherits from 'super'.
    I have got a reference of type 'super' which points to an object of type 'sub'.
    How can i cast the reference from 'super' to 'sub' without knowing the class 'sub'???
    With RTTI i just got the name of class 'sub'....
    thx in advance.
    Regards,
    Markus

    Hello Markus,
    I think you cannot cast the second object reference, since you cannot define an object reference of the actual type of the subclass as target (because the type is not visible statically when it is defined in another program).
    However, you can dynamically create an object of such a class by using its absolute type name:
    CREATE OBJECT go_sub TYPE ('\FUNCTION-POOL=THE_FUNCTION_POOL\CLASS=THE_LOCAL_CLASS').
    Afterwards, you can invoke methods dynamically:
    CALL METHOD go_sub->('THE_METHOD').
    Of course, the syntax checker cannot verify these method calls during design time. To ensure that a specified method is callable for a given object during runtime, you can use RTTI before doing the call.
    As already discussed in this forum, it is not good practice to use local classes from other programs. They can have dependencies to their context (e.g. a global variable of the program where they are defined).
    Hope this helps,
    David

  • Global Object Building

    I am using flash MX and looked in the actionscript dictionary
    and it came with that example:
    function Book(name, price){
    this.name = name;
    this.price = price;
    book1 = new Book("Confederacy of Dunces", 19.95);
    book2 = new Book("The Floating Opera", 10.95);
    Now the problem is I want my object to be globaly usable by
    other movieclips
    I tried
    function _global.Book(name, price)
    and it wouldn't accept it
    I tried:
    _global.Book = new function (name, price)
    but obviously it wasn,t an object that it gave...
    So my qustion is how do I make global objects or
    classes

    You're second try was very close. Check F1 reference:
    Learning ActionsScript 2.0 in Flash > Functions and
    Methods > About functions and methods > About types of
    methods and functions > Writing anonymous and callback functions
    ----------[ From F1 reference ]----------
    To write an anonymous function:
    Create a movie clip on the Stage, and then select the clip.
    Open the Property inspector, and type my_mc into the Instance
    Name text box.
    Select Frame 1 of the Timeline, and type the following code
    into the Actions panel:
    var myWidth = function () {
    trace(my_mc._width);
    //later in code you can add
    myWidth();
    Select Control > Test Movie.
    The width of the movie clip is displayed in the Output
    panel.

  • Station Globals in Deployed System

    Hi,
    Do StationGlobals get deployed automatically as do other variables?  I'm trying to deploy a system that uses a property loader to load several values into StationGlobals within the "Setup" sequence.  It works fine in the sequence editor but when deployed, a run-time error occurs saying the station global doesn't exist.  Do I need to do something different during deployment?  (I'm using the TS deployment utility and am using a LV operator interface)
    Thanks, Adam

    Hi Adam,
    The best place to look in the TestStand Reference Manual (found inside the TestStand Bookshelf).  Here, Chpater 14 covers Deploying as well as some common deployment situations.  There is also a section in the TestStand Help that discusses deployments and the Deployment Utility.
    Thanks,
    Caroline
    National Instruments
    Thanks,
    Caroline Tipton
    Data Management Product Manager
    National Instruments

  • Update Station Globals from LAbWindows/CVI user interface

    Hi,
    I am having a requirement such that i need to update a station global variable to true or false based on the click on a button present in User Interface.
    My Setup:
    Labwindows/CVI 8.5
    TestStand 4.2.1
    Please advice me.
    Solved!
    Go to Solution.

    Hi,
    first thing, why have you posted this query twice, http://forums.ni.com/t5/NI-TestStand/Update-Station-Globals-from-CVI-UI/m-p/1317023
    to be able to update a StationGlobal, you first need to get a reference to the Engine, this can be done using ApplicationMgr.GetEngine()
    Once you have that reference you can then get a reference to the StationGlobals by the use of Engine.Globals(). this returns a PropertyObject.
    So now you can use the SetVal methods to set your boolean, eg PropertyObject.SetValBoolean("MyBoolean",  0,  True)
    hope this helps
    Regards
    Ray Farmer

Maybe you are looking for