i am trying to get the active screen name from the runtime. the below is the code witch i crated for alarm filtering but it will work only for one screen mentioned in the code but i want the code to run for all the screens based on calling.
using Scada.AddIn.Contracts;
using Scada.AddIn.Contracts.Function;
using Scada.AddIn.Contracts.Screen;
using System;
namespace AMLFilter
{
/// <summary>
/// Description of Project Wizard Extension.
/// </summary>
[AddInExtension("AML Filter", "This Wizard adapts the Filter settings for the AML screen switch")]
public class ProjectWizardExtension : IProjectWizardExtension
{
#region IProjectWizardExtension implementation
IFunction zFunction;
IProject zProject;
IScreen zDetails;
public void Run(IProject context, IBehavior behavior)
{
zProject = context;
zDetails = zProject.ScreenCollection["PopUp_T_BCU_1_SLDScreen"];
if (zDetails.IsScreenActive)
{
string Varname = zDetails.ScreenElementCollection["NAME"].GetVariable(0).Name.ToString();
string baynumber = Varname.Substring(0, 4);
zFunction = zProject.FunctionCollection["Scr_PopAlarms_BAY"];
zFunction.SetDynamicProperty("PictFilter[0].VarFilter", "*" + baynumber + "*");
zFunction.Execute();
}
}
#endregion
}
}