private void ThisProject_Startup(object sender, EventArgs e) { try { obOnlineVar = this.OnlineVariables().CreateOnlineVariables("MyContainer"); obOnlineVar.Add("OTWORZ"); obOnlineVar.Define(); obOnlineVar.VariableChange += new zenOn.VariableChangeEventHandler(obOnlineVar_VariableChange); } catch (Exception ex) { System.Diagnostics.Debug.Print("ERROR ThisProject_Startup : " + ex.Message + " " + ex.Source); } this.Active += new zenOn.ActiveEventHandler(ThisProject_Active); this.Inactive += new zenOn.InactiveEventHandler(ThisProject_Inactive); } void obOnlineVar_VariableChange(zenOn.IVariable obVar) { Macro_TEST(); } void Macro_TEST() { if (obOnlineVar.Item("OTWORZ").get_Value(0).Equals(true)) // <-- If i use .isOnline method insted .get_Value ect., the function "Switch_Info" starts, so I'm sure the variable is Online { this.RtFunctions().Item("Switch_Info").Start(); } else { this.RtFunctions().Item("Close_Agreement").Start(); } }