HandleException() public static méthode

Handles an exception.
public static HandleException ( string caption, Exception e ) : void
caption string
e Exception
Résultat void
        private void UpdateBTN_Click(object sender, EventArgs e)
        {
            try
            {
                WriteValue nodeToWrite = new WriteValue();
                nodeToWrite.NodeId             = m_variableId;
                nodeToWrite.AttributeId        = Attributes.Value;
                nodeToWrite.Value              = new DataValue();
                nodeToWrite.Value.WrappedValue = GetValue();

                WriteValueCollection nodesToWrite = new WriteValueCollection();
                nodesToWrite.Add(nodeToWrite);

                // read the attributes.
                StatusCodeCollection     results         = null;
                DiagnosticInfoCollection diagnosticInfos = null;

                ResponseHeader responseHeader = m_session.Write(
                    null,
                    nodesToWrite,
                    out results,
                    out diagnosticInfos);

                ClientBase.ValidateResponse(results, nodesToWrite);
                ClientBase.ValidateDiagnosticInfos(diagnosticInfos, nodesToWrite);

                // check for error.
                if (StatusCode.IsBad(results[0]))
                {
                    throw ServiceResultException.Create(results[0], 0, diagnosticInfos, responseHeader.StringTable);
                }
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
        private void ServersLV_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (ServerCTRL.Session == null)
                {
                    return;
                }

                foreach (ListViewItem item in ServersLV.SelectedItems)
                {
                    m_application = item.Tag as ApplicationDescription;
                    OkBTN.Enabled = m_application.ApplicationType == ApplicationType.Server || m_application.ApplicationType == ApplicationType.ClientAndServer;
                    return;
                }

                m_application = null;
                OkBTN.Enabled = false;
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
Exemple #3
0
        private void FilterDV_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            try {
                if (e.ColumnIndex == 2)
                {
                    bool state = false;

                    if (m_dataset.Tables[0].DefaultView.Count > 0)
                    {
                        state = (bool)m_dataset.Tables[0].DefaultView[0].Row[3];
                    }

                    state = !state;

                    foreach (DataRowView row in m_dataset.Tables[0].DefaultView)
                    {
                        FilterDeclarationField field = (FilterDeclarationField)row.Row[0];
                        row.Row[3] = field.Selected = state;
                    }
                }
            } catch (Exception exception) {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
        private void NewMI_Click(object sender, EventArgs e)
        {
            try
            {
                MonitoredItem monitoredItem = null;

                foreach (DataGridViewRow row in ResultsDV.SelectedRows)
                {
                    DataRowView source = row.DataBoundItem as DataRowView;
                    monitoredItem = (MonitoredItem)source.Row[0];
                    break;
                }

                if (monitoredItem == null)
                {
                    monitoredItem = new MonitoredItem(m_subscription.DefaultItem);
                }
                else
                {
                    monitoredItem = new MonitoredItem(monitoredItem);
                }

                if (new EditMonitoredItemDlg().ShowDialog(m_session, monitoredItem, false))
                {
                    m_subscription.AddItem(monitoredItem);
                    DataRow row = m_dataset.Tables[0].NewRow();
                    monitoredItem.Handle = row;
                    UpdateRow(row, monitoredItem);
                    m_dataset.Tables[0].Rows.Add(row);
                }
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
        private void DeleteMI_Click(object sender, EventArgs e)
        {
            try
            {
                if (m_state != DisplayState.EditItems)
                {
                    return;
                }

                foreach (DataGridViewRow row in ItemsDV.SelectedRows)
                {
                    DataRowView   source        = row.DataBoundItem as DataRowView;
                    MonitoredItem monitoredItem = (MonitoredItem)source.Row[0];
                    m_subscription.RemoveItem(monitoredItem);
                    source.Row.Delete();
                }

                m_dataset.AcceptChanges();
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
Exemple #6
0
        private void ViewValueMI_Click(object sender, EventArgs e)
        {
            try {
                MonitoredItem monitoredItem = null;
                DataValue     value         = null;

                foreach (DataGridViewRow row in ResultsDV.SelectedRows)
                {
                    DataRowView source = row.DataBoundItem as DataRowView;
                    monitoredItem = (MonitoredItem)source.Row[0];
                    value         = (DataValue)source.Row[11];
                    break;
                }

                if (monitoredItem == null)
                {
                    return;
                }

                m_EditComplexValueDlg     = new EditComplexValueDlg();
                m_EditComplexValueDlg.Tag = monitoredItem;

                m_EditComplexValueDlg.ShowDialog(
                    m_session,
                    monitoredItem.ResolvedNodeId,
                    monitoredItem.AttributeId,
                    null,
                    value.Value,
                    true,
                    "View Data Change");

                m_EditComplexValueDlg = null;
            } catch (Exception exception) {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
Exemple #7
0
        private void OkBTN_Click(object sender, EventArgs e)
        {
            try {
                IndexRangeTB.Text = IndexRangeTB.Text.Trim();

                if (String.IsNullOrEmpty(IndexRangeTB.Text))
                {
                    NumericRange.Parse(IndexRangeTB.Text);
                }

                StatusCodeTB.Text = StatusCodeTB.Text.Trim();

                if (StatusCodeCK.Checked)
                {
                    TypeInfo.Cast(StatusCodeTB.Text, BuiltInType.StatusCode);
                }

                SourceTimestampTB.Text = SourceTimestampTB.Text.Trim();

                if (SourceTimestampCK.Checked)
                {
                    TypeInfo.Cast(SourceTimestampTB.Text, BuiltInType.DateTime);
                }

                ServerTimestampTB.Text = ServerTimestampTB.Text.Trim();

                if (ServerTimestampCK.Checked)
                {
                    TypeInfo.Cast(ServerTimestampTB.Text, BuiltInType.DateTime);
                }

                DialogResult = DialogResult.OK;
            } catch (Exception exception) {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
Exemple #8
0
        /// <summary>
        /// Shows the dialog.
        /// </summary>
        public ApplicationDescription ShowDialog(ApplicationConfiguration configuration, bool showSearchPanel)
        {
            List <string> urls = new List <string>();

            foreach (EndpointDescription endpoint in configuration.ClientConfiguration.DiscoveryServers)
            {
                urls.Add(endpoint.EndpointUrl);
            }

            if (urls.Count == 0)
            {
                urls.Add("opc.tcp://localhost:48041/GdsServer");
            }

            ServerCTRL.Configuration = configuration;
            ServerCTRL.SetAvailableUrls(urls);

            try {
                ServerCTRL.Connect();
            } catch (Exception exception) {
                ClientUtils.HandleException(this.Text, exception);
            }

            OkBTN.Visible     = true;
            CancelBTN.Visible = true;

            BrowseCK.Checked = showSearchPanel;
            BrowseCK.Checked = !showSearchPanel;

            if (base.ShowDialog() != DialogResult.OK)
            {
                return(null);
            }

            return(m_application);
        }
        /// <summary>
        /// Handles the BeforeExpand event of the BrowseTV control.
        /// </summary>
        private void BrowseTV_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            try
            {
                ReferenceDescription reference = (ReferenceDescription)e.Node.Tag;
                e.Node.Nodes.Clear();

                // build list of references to browse.
                BrowseDescriptionCollection nodesToBrowse = new BrowseDescriptionCollection();

                for (int ii = 0; ii < m_referenceTypeIds.Length; ii++)
                {
                    BrowseDescription nodeToBrowse = new BrowseDescription();

                    nodeToBrowse.NodeId          = m_rootId;
                    nodeToBrowse.BrowseDirection = BrowseDirection.Forward;
                    nodeToBrowse.ReferenceTypeId = m_referenceTypeIds[ii];
                    nodeToBrowse.IncludeSubtypes = true;
                    nodeToBrowse.NodeClassMask   = 0;
                    nodeToBrowse.ResultMask      = (uint)BrowseResultMask.All;

                    if (reference != null)
                    {
                        nodeToBrowse.NodeId = (NodeId)reference.NodeId;
                    }

                    nodesToBrowse.Add(nodeToBrowse);
                }

                // add the childen to the control.
                SortedDictionary <ExpandedNodeId, TreeNode> dictionary = new SortedDictionary <ExpandedNodeId, TreeNode>();

                ReferenceDescriptionCollection references = ClientUtils.Browse(m_session, View, nodesToBrowse, false);

                for (int ii = 0; references != null && ii < references.Count; ii++)
                {
                    reference = references[ii];

                    // ignore out of server references.
                    if (reference.NodeId.IsAbsolute)
                    {
                        continue;
                    }

                    if (dictionary.ContainsKey(reference.NodeId))
                    {
                        continue;
                    }

                    TreeNode child = new TreeNode(reference.ToString());

                    child.Nodes.Add(new TreeNode());
                    child.Tag = reference;

                    if (!reference.TypeDefinition.IsAbsolute)
                    {
                        try
                        {
                            if (!m_typeImageMapping.ContainsKey((NodeId)reference.TypeDefinition))
                            {
                                List <NodeId> nodeIds = ClientUtils.TranslateBrowsePaths(m_session, (NodeId)reference.TypeDefinition, m_session.NamespaceUris, Opc.Ua.BrowseNames.Icon);

                                if (nodeIds.Count > 0 && nodeIds[0] != null)
                                {
                                    DataValue value = m_session.ReadValue(nodeIds[0]);
                                    byte[]    bytes = value.Value as byte[];

                                    if (bytes != null)
                                    {
                                        System.IO.MemoryStream istrm = new System.IO.MemoryStream(bytes);
                                        Image icon = Image.FromStream(istrm);
                                        BrowseTV.ImageList.Images.Add(icon);
                                        m_typeImageMapping[(NodeId)reference.TypeDefinition] = BrowseTV.ImageList.Images.Count - 1;
                                    }
                                }
                            }
                        }
                        catch (Exception exception)
                        {
                            Utils.Trace(exception, "Error loading image.");
                        }
                    }

                    int index = 0;

                    if (!m_typeImageMapping.TryGetValue((NodeId)reference.TypeDefinition, out index))
                    {
                        child.ImageIndex         = ClientUtils.GetImageIndex(m_session, reference.NodeClass, reference.TypeDefinition, false);
                        child.SelectedImageIndex = ClientUtils.GetImageIndex(m_session, reference.NodeClass, reference.TypeDefinition, true);
                    }
                    else
                    {
                        child.ImageIndex         = index;
                        child.SelectedImageIndex = index;
                    }

                    dictionary[reference.NodeId] = child;
                }

                // add nodes to tree.
                foreach (TreeNode node in dictionary.Values.OrderBy(i => i.Text))
                {
                    e.Node.Nodes.Add(node);
                }
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
Exemple #10
0
        private void ReadTypeCB_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                HistoryOperation operation = (HistoryOperation)ReadTypeCB.SelectedItem;

                switch (operation)
                {
                case HistoryOperation.Read:
                {
                    StartTimeLB.Visible     = true;
                    StartTimeDP.Visible     = true;
                    StartTimeCK.Visible     = true;
                    StartTimeCK.Enabled     = true;
                    StartTimeCK.Checked     = true;
                    EndTimeLB.Visible       = true;
                    EndTimeDP.Visible       = true;
                    EndTimeCK.Visible       = true;
                    EndTimeCK.Enabled       = true;
                    TimeStepLB.Visible      = false;
                    TimeStepNP.Visible      = false;
                    TimeStepUnitsLB.Visible = false;
                    TimeShiftBTN.Visible    = false;
                    break;
                }

                case HistoryOperation.Update:
                {
                    StartTimeLB.Visible     = true;
                    StartTimeDP.Visible     = true;
                    StartTimeCK.Visible     = true;
                    StartTimeCK.Enabled     = true;
                    StartTimeCK.Checked     = true;
                    EndTimeLB.Visible       = true;
                    EndTimeDP.Visible       = true;
                    EndTimeCK.Visible       = true;
                    EndTimeCK.Enabled       = true;
                    TimeStepLB.Visible      = false;
                    TimeStepNP.Visible      = false;
                    TimeStepUnitsLB.Visible = false;
                    TimeShiftBTN.Visible    = false;
                    break;
                }

                case HistoryOperation.Delete:
                {
                    StartTimeLB.Visible     = true;
                    StartTimeDP.Visible     = true;
                    StartTimeCK.Visible     = true;
                    StartTimeCK.Enabled     = false;
                    StartTimeCK.Checked     = true;
                    EndTimeLB.Visible       = true;
                    EndTimeDP.Visible       = true;
                    EndTimeCK.Visible       = true;
                    EndTimeCK.Enabled       = false;
                    EndTimeCK.Checked       = true;
                    TimeStepLB.Visible      = false;
                    TimeStepNP.Visible      = false;
                    TimeStepUnitsLB.Visible = false;
                    TimeShiftBTN.Visible    = false;
                    break;
                }
                }
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
        private void FilterDV_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.RowIndex == -1)
                {
                    return;
                }

                DataRowView            source = FilterDV.Rows[e.RowIndex].DataBoundItem as DataRowView;
                FilterDeclarationField field  = (FilterDeclarationField)source.Row[0];

                if (e.ColumnIndex == 5)
                {
                    FilterOperator filterOperator = field.FilterOperator;

                    if (new SetFilterOperatorDlg().ShowDialog(ref filterOperator))
                    {
                        field.FilterEnabled = true;
                        source.Row[5]       = field.FilterEnabled;

                        field.FilterOperator = filterOperator;
                        source.Row[6]        = field.FilterOperator;
                    }

                    return;
                }

                if (e.ColumnIndex == 6)
                {
                    if (field.FilterOperator == FilterOperator.IsNull)
                    {
                        field.FilterValue = Variant.Null;
                        return;
                    }

                    InstanceDeclaration declaration = field.InstanceDeclaration;

                    object result = new EditComplexValueDlg().ShowDialog(
                        m_session,
                        declaration.DisplayName,
                        declaration.DataType,
                        declaration.ValueRank,
                        field.FilterValue.Value,
                        "Edit Filter Value");

                    if (result != null)
                    {
                        field.FilterEnabled = true;
                        source.Row[5]       = field.FilterEnabled;
                        source.Row[6]       = field.FilterOperator;

                        field.FilterValue = new Variant(result);
                        source.Row[7]     = field.FilterValue;
                    }

                    return;
                }
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
Exemple #12
0
        /// <summary>
        /// Updates the display with a new value for a monitored variable.
        /// </summary>
        private void MonitoredItem_Notification(MonitoredItem monitoredItem, MonitoredItemNotificationEventArgs e)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new MonitoredItemNotificationEventHandler(MonitoredItem_Notification), monitoredItem, e);
                return;
            }

            try
            {
                // check for valid notification.
                EventFieldList notification = e.NotificationValue as EventFieldList;

                if (notification == null)
                {
                    return;
                }

                // check if monitored item has changed.
                if (!Object.ReferenceEquals(m_monitoredItem, monitoredItem))
                {
                    return;
                }

                // check if the filter has changed.
                if (notification.EventFields.Count != m_filter.Fields.Count + 1)
                {
                    return;
                }

                if (m_displayConditions)
                {
                    NodeId eventTypeId = m_filter.GetValue <NodeId>(Opc.Ua.BrowseNames.EventType, notification.EventFields, null);

                    if (eventTypeId == Opc.Ua.ObjectTypeIds.RefreshStartEventType)
                    {
                        EventsLV.Items.Clear();
                    }

                    if (eventTypeId == Opc.Ua.ObjectTypeIds.RefreshEndEventType)
                    {
                        return;
                    }
                }

                // create an item and add to top of list.
                ListViewItem item = CreateListItem(m_filter, notification.EventFields);

                if (item.ListView == null)
                {
                    EventsLV.Items.Insert(0, item);
                }

                // adjust the width of the columns.
                for (int ii = 0; ii < EventsLV.Columns.Count; ii++)
                {
                    EventsLV.Columns[ii].Width = -2;
                }
            }
            catch (Exception exception)
            {
                ClientUtils.HandleException(this.Text, exception);
            }
        }
Exemple #13
0
 private void TimeShiftBTN_Click(object sender, EventArgs e)
 {
     try { } catch (Exception exception) {
         ClientUtils.HandleException(this.Text, exception);
     }
 }
Exemple #14
0
 private void StartTimeDP_ValueChanged(object sender, EventArgs e)
 {
     try { } catch (Exception exception) {
         ClientUtils.HandleException(this.Text, exception);
     }
 }