Exemplo n.º 1
0
        private void Load_Objects(String sScreen)
        {
            MySqlCommand CMD = new MySqlCommand();
            //   MySqlDataReader myReader = new MySqlDataReader();
            String sState      = "";
            String sStateMatch = "";
            String sImage      = "";


            CMD.Connection  = CN;
            CMD.CommandType = CommandType.Text;

            //COUNT **ALL** control objects for this screen
            //CMD.CommandText = "SELECT COUNT(*) as Results FROM osae_v_screen_object WHERE screen_name=?pscreen";
            //CMD.Parameters.AddWithValue("?pscreen", sScreen);
            //try
            //{
            //    CN.Open();
            //    iObjectCount = Convert.ToInt32(CMD.ExecuteScalar());
            //    CN.Close();
            //}
            //catch (Exception myerror)
            //{
            //    MessageBox.Show("GUI Error Load_Objects 1: " + myerror.Message);
            //    CN.Close();
            //}
            CMD.Parameters.Clear();
            //Select **ALL** control objects for this screen
            CMD.CommandText = "SELECT * FROM osae_v_object_property WHERE object_id IN(SELECT control_id FROM osae_v_screen_object WHERE screen_name=?pscreen) AND property_name='ZOrder' ORDER BY property_value";
            CMD.Parameters.AddWithValue("?pscreen", sScreen);
            try
            {
                CN.Open();
                MySqlDataReader myReader = CMD.ExecuteReader();
                while (myReader.Read())
                {
                    ScreenObject so = new ScreenObject();
                    so.Control_Name = Convert.ToString(myReader.GetString("object_name"));
                    so.Control_Type = Convert.ToString(myReader.GetString("object_type"));
                    aScreenObject.Add(so);
                }
                CN.Close();
            }
            catch (MySqlException myerror)
            {
                MessageBox.Show("GUI Error Load_Objects 2: " + myerror.Message);
                CN.Close();
            }
            CMD.Parameters.Clear();
            foreach (ScreenObject dso in aScreenObject)
            {
                if (dso.Control_Type == "CONTROL STATE IMAGE")
                {
                    dso.Object_Name = OSAEApi.GetObjectProperty(dso.Control_Name, "Object Name");
                    Image dsi = new Image();
                    dsi.Tag = dso.Object_Name;
                    dsi.MouseLeftButtonDown += new MouseButtonEventHandler(State_Image_MouseLeftButtonDown);
                    sState = OSAEApi.GetObjectState(dso.Object_Name);
                    CMD.Parameters.Clear();
                    CMD.CommandText = "SELECT COALESCE(last_state_change,NOW()) FROM osae_v_object WHERE object_name=?ObjectName";
                    CMD.Parameters.AddWithValue("?ObjectName", dso.Object_Name);
                    try
                    {
                        CN.Open();
                        dso.Object_State_Time = Convert.ToString(CMD.ExecuteScalar());
                        CN.Close();
                    }
                    catch (Exception myerror)
                    {
                        MessageBox.Show("GUI Error Load_Objects 2.5: " + myerror.Message);
                        CN.Close();
                    }
                    CMD.Parameters.Clear();
                    CMD.CommandText = "SELECT property_name FROM osae_v_object_property WHERE object_name=?ObjectName AND property_value=?pstate";
                    CMD.Parameters.AddWithValue("?ObjectName", dso.Control_Name);
                    CMD.Parameters.AddWithValue("?pstate", sState);
                    try
                    {
                        CN.Open();
                        sStateMatch = Convert.ToString(CMD.ExecuteScalar());
                        CN.Close();
                        if (sStateMatch != "")
                        {
                            sStateMatch = sStateMatch.Substring(0, 7);
                        }
                        sImage = OSAEApi.GetObjectProperty(dso.Control_Name, sStateMatch + " Image");
                        if (File.Exists(OSAEApi.APIpath + sImage))
                        {
                            sImage = OSAEApi.APIpath + sImage;
                        }

                        OSAE.ObjectProperty pZOrder = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "ZOrder");
                        OSAE.ObjectProperty pX      = OSAEApi.GetObjectPropertyValue(dso.Control_Name, sStateMatch + " X");
                        OSAE.ObjectProperty pY      = OSAEApi.GetObjectPropertyValue(dso.Control_Name, sStateMatch + " Y");
                        dso.Object_State = sState;
                        dso.ScreenImage  = dsi;
                        if (File.Exists(sImage))
                        {
                            canGUI.Children.Add(dsi);

                            Double dX = Convert.ToDouble(pX.Value);
                            Canvas.SetLeft(dsi, dX);
                            Double dY = Convert.ToDouble(pY.Value);
                            Canvas.SetTop(dsi, dY);

                            byte[] byteArray   = File.ReadAllBytes(sImage);
                            var    imageStream = new MemoryStream(byteArray);
                            var    bitmapImage = new BitmapImage();

                            bitmapImage.BeginInit();
                            bitmapImage.StreamSource = imageStream;
                            bitmapImage.EndInit();
                            //canGUI.Background = new ImageBrush(bitmapImage);

                            dsi.Source = bitmapImage;

                            if (pZOrder.Value == "0")
                            {
                                // dsi.SendToBack();
                            }
                            else
                            {
                                // dsi.BringToFront();
                            }
                            dsi.Visibility = System.Windows.Visibility.Visible;
                        }
                        else
                        {
                            dsi.Source     = null;
                            dsi.Visibility = System.Windows.Visibility.Hidden;
                        }
                    }
                    catch (Exception myerror)
                    {
                        MessageBox.Show("GUI Error Load_Objects 3: " + myerror.Message);
                        CN.Close();
                    }
                }
                else if (dso.Control_Type == "CONTROL PROPERTY LABEL")
                {
                    dso.Object_Name = OSAEApi.GetObjectProperty(dso.Control_Name, "Object Name");
                    String sPropertyName = OSAEApi.GetObjectProperty(dso.Control_Name, "Property Name");
                    dso.Property_Name = sPropertyName;
                    String sPropertyValue = OSAEApi.GetObjectProperty(dso.Object_Name, sPropertyName);
                    String sBackColor     = OSAEApi.GetObjectProperty(dso.Control_Name, "Back Color");
                    String sForeColor     = OSAEApi.GetObjectProperty(dso.Control_Name, "Fore Color");
                    String sPrefix        = OSAEApi.GetObjectProperty(dso.Control_Name, "Prefix");
                    String sSuffix        = OSAEApi.GetObjectProperty(dso.Control_Name, "Suffix");
                    String iFontSize      = OSAEApi.GetObjectProperty(dso.Control_Name, "Font Size");
                    String sFontName      = OSAEApi.GetObjectProperty(dso.Control_Name, "Font Name");
                    Label  dpl            = new Label();
                    dpl.Tag = dso.Object_Name;
                    OSAE.ObjectProperty pX = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "X");
                    OSAE.ObjectProperty pY = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "Y");
                    canGUI.Children.Add(dpl);
                    dso.ScreenLabel = dpl;
                    Double dX = Convert.ToDouble(pX.Value);
                    Canvas.SetLeft(dpl, dX);
                    Double dY = Convert.ToDouble(pY.Value);
                    Canvas.SetTop(dpl, dY);
                    if (sPropertyValue != "")
                    {
                        if (sBackColor != "")
                        {
                            try
                            {
                                BrushConverter  conv  = new BrushConverter();
                                SolidColorBrush brush = conv.ConvertFromString(sBackColor) as SolidColorBrush;
                                dpl.Background = brush;
                            }
                            catch (Exception myerror)
                            {
                            }
                        }
                        if (sForeColor != "")
                        {
                            try
                            {
                                BrushConverter  conv  = new BrushConverter();
                                SolidColorBrush brush = conv.ConvertFromString(sForeColor) as SolidColorBrush;
                                dpl.Foreground = brush;
                            }
                            catch (Exception myerror)
                            {
                            }
                        }
                        if (iFontSize != "")
                        {
                            try
                            {
                                dpl.FontSize = Convert.ToDouble(iFontSize);
                            }
                            catch (Exception myerror)
                            {
                            }
                        }
                        dpl.Content      = sPrefix + sPropertyValue + sSuffix;
                        dso.Object_State = "";
                    }
                    else
                    {
                        dpl.Content = "";
                    }
                }
                else if (dso.Control_Type == "CONTROL STATIC LABEL")
                {
                    dso.Object_Name = OSAEApi.GetObjectProperty(dso.Control_Name, "Object Name");
                    String sPropertyValue = OSAEApi.GetObjectProperty(dso.Object_Name, "Value");
                    String sBackColor     = OSAEApi.GetObjectProperty(dso.Control_Name, "Back Color");
                    String sForeColor     = OSAEApi.GetObjectProperty(dso.Control_Name, "Fore Color");
                    Label  dsl            = new Label();
                    dsl.Tag = dso.Object_Name;
                    OSAE.ObjectProperty pX = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "X");
                    OSAE.ObjectProperty pY = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "Y");
                    canGUI.Children.Add(dsl);
                    Double dX = Convert.ToDouble(pX.Value);
                    Canvas.SetLeft(dsl, dX);
                    Double dY = Convert.ToDouble(pY.Value);
                    Canvas.SetTop(dsl, dY);
                    if (sPropertyValue != "")
                    {
                        if (sBackColor != "")
                        {
                            try
                            {
                                BrushConverter  conv  = new BrushConverter();
                                SolidColorBrush brush = conv.ConvertFromString(sBackColor) as SolidColorBrush;
                                dsl.Background = brush;
                            }
                            catch (Exception myerror)
                            {
                            }
                        }
                        if (sForeColor != "")
                        {
                            try
                            {
                                BrushConverter  conv  = new BrushConverter();
                                SolidColorBrush brush = conv.ConvertFromString(sForeColor) as SolidColorBrush;
                                dsl.Foreground = brush;
                            }
                            catch (Exception myerror)
                            {
                            }
                        }
                        dsl.Content = sPropertyValue;
                    }
                    else
                    {
                        dsl.Content = "";
                    }
                }

                //    else if aScreenObject(iLoop).Control_Type = "CONTROL TIMER LABEL" Then
                //        iTimerLabelCount = iTimerLabelCount + 1
                //        aScreenObject(iLoop).Control_Index = iTimerLabelCount
                //        aScreenObject(iLoop).Object_Name = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Object Name")
                //        sPropertyName = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Type")
                //        aScreenObject(iLoop).Property_Name = sPropertyName
                //        sPropertyValue = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Object_Name, "OFF Timer")
                //        aScreenObject(iLoop).Property_Value = sPropertyValue
                //        sBackColor = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Back Color")
                //        sForeColor = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Fore Color")
                //        aControlTimerLabel(iTimerLabelCount).Tag = iLoop
                //        sState = OSAEApi.GetObjectState(aScreenObject(iLoop).Object_Name)
                //        aScreenObject(iLoop).Object_State = sState
                //        CMD.Parameters.Clear()

                //        CMD.CommandText = "SELECT COALESCE(last_updated,NOW()) FROM osae_v_object WHERE object_name=?ObjectName"
                //        CMD.Parameters.AddWithValue("?ObjectName", aScreenObject(iLoop).Object_Name)
                //        try
                //        {
                //            CN.Open();
                //            aScreenObject(iLoop).Object_Last_Updated = CMD.ExecuteScalar;
                //            CN.Close();
                //        }
                //        catch (MySqlException myerror)
                //        {
                //            MessageBox.Show("GUI Error Load_Objects 2.7: " & myerror.Message);
                //            CN.Close();
                //        }
                //        CMD.Parameters.Clear();
                //        CMD.CommandText = "SELECT COALESCE(last_state_change,NOW()) FROM osae_v_object WHERE object_name=?ObjectName";
                //        CMD.Parameters.AddWithValue("?ObjectName", aScreenObject(iLoop).Object_Name);
                //        try
                //        {
                //            CN.Open();
                //            aScreenObject(iLoop).Object_State_Time = CMD.ExecuteScalar;
                //            CN.Close();
                //        }
                //        catch (MySqlException myerror)
                //        {
                //            MessageBox.Show("GUI Error Load_Objects 666: " & myerror.Message);
                //            CN.Close();
                //        }
                //        iX = Val("" & OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "X"));
                //        iY = Val("" & OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Y"));
                //        if (sBackColor <> "")
                //        {
                //            try
                //            {
                //                aControlTimerLabel(aScreenObject(iLoop).Control_Index).BackColor = Color.FromName(sBackColor);
                //            }
                //            catch (MySqlException myerror)
                //            {}
                //        }
                //        if (sForeColor <> "")
                //                    {
                //            try
                //            {
                //                aControlTimerLabel(aScreenObject(iLoop).Control_Index).ForeColor = Color.FromName(sForeColor)
                //            }
                //        catch (MySqlException myerror)
                //        {}
                //            }
                //        aControlTimerLabel(aScreenObject(iLoop).Control_Index).Text = sPropertyValue;
                //        aControlTimerLabel(aScreenObject(iLoop).Control_Index).Width = sPropertyValue.Length * 7;
                //        aControlTimerLabel(aScreenObject(iLoop).Control_Index).Left = iX;
                //        aControlTimerLabel(aScreenObject(iLoop).Control_Index).Top = iY;
                //        aControlTimerLabel(aScreenObject(iLoop).Control_Index).BringToFront();
                //        aControlTimerLabel(aScreenObject(iLoop).Control_Index).Visible = True;
                //    else if (aScreenObject(iLoop).Control_Type = "CONTROL METHOD IMAGE")
                //        iMethodImageCount = iMethodImageCount + 1
                //        aScreenObject(iLoop).Object_Name = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Object Name")
                //        aScreenObject(iLoop).Control_Index = iMethodImageCount
                //        aControlMethodImage(aControlMethodImage.Count).Tag = iLoop
                //        g_toolTip.SetToolTip(aControlMethodImage(iMethodImageCount), aScreenObject(iLoop).Object_Name)
                //        CMD.Parameters.Clear()
                //        try
                //        {
                //            sImage = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Image");
                //            sImage = sImage.Replace(".\", "\");
                //            If File.Exists(gAppPath & sImage) Then sImage = gAppPath & sImage
                //            iZOrder = Val(OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "ZOrder"));
                //            iX = Val("" & OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "X"));
                //            iY = Val("" & OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Y"));
                //            if (File.Exists(sImage))
                //            {
                //                aControlMethodImage(aScreenObject(iLoop).Control_Index).Image = Image.FromFile(sImage);
                //                aScreenObject(iLoop).Object_State = ""
                //                aControlMethodImage(aScreenObject(iLoop).Control_Index).Left = iX;
                //                aControlMethodImage(aScreenObject(iLoop).Control_Index).Top = iY;
                //                aControlMethodImage(aScreenObject(iLoop).Control_Index).Visible = True;
                //            }
                //            else
                //            {
                //                aControlMethodImage(aScreenObject(iLoop).Control_Index).Image = Nothing;
                //                aControlMethodImage(aScreenObject(iLoop).Control_Index).Visible = False;
                //            }
                //        }
                //         catch (MySqlException myerror)
                //        {
                //            MessageBox.Show("GUI Error Load_Objects 4: " + myerror.Message);
                //            CN.Close();
                //         }
                else if (dso.Control_Type == "CONTROL NAVIGATION IMAGE")
                {
                    dso.Object_Name  = OSAEApi.GetObjectProperty(dso.Control_Name, "Screen");
                    dso.Object_State = "";
                    Image dni = new Image();
                    dni.Tag = dso.Object_Name;
                    //aControlNavImage(iNavImageCount).Tag = iLoop
                    // g_toolTip.SetToolTip(aControlNavImage(iNavImageCount), aScreenObject(iLoop).Object_Name)
                    CMD.Parameters.Clear();
                    try
                    {
                        sImage = OSAEApi.GetObjectProperty(dso.Control_Name, "Image");
                        if (File.Exists(OSAEApi.APIpath + sImage))
                        {
                            sImage = OSAEApi.APIpath + sImage;
                        }
                        OSAE.ObjectProperty pZOrder = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "ZOrder");
                        OSAE.ObjectProperty pX      = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "X");
                        OSAE.ObjectProperty pY      = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "Y");
                        if (File.Exists(sImage))
                        {
                            canGUI.Children.Add(dni);
                            Double dX = Convert.ToDouble(pX.Value);
                            Canvas.SetLeft(dni, dX);
                            Double dY = Convert.ToDouble(pY.Value);
                            Canvas.SetTop(dni, dY);

                            byte[] byteArray   = File.ReadAllBytes(sImage);
                            var    imageStream = new MemoryStream(byteArray);
                            var    bitmapImage = new BitmapImage();

                            bitmapImage.BeginInit();
                            bitmapImage.StreamSource = imageStream;
                            bitmapImage.EndInit();
                            //canGUI.Background = new ImageBrush(bitmapImage);

                            dni.Source = bitmapImage;

                            if (pZOrder.Value == "0")
                            {
                                // dsi.SendToBack();
                            }
                            else
                            {
                                // dsi.BringToFront();
                            }
                        }
                    }
                    catch (MySqlException myerror)
                    {
                        MessageBox.Show("GUI Error Load_Objects 5: " + myerror.Message);
                        CN.Close();
                    }
                }

                //    ElseIf aScreenObject(iLoop).Control_Type = "USER CONTROL" Then
                //        iUserControlCount += 1
                //        Dim sUCType As String = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Control Type")
                //                 If sUCType = "USER CONTROL WEATHER" Then
                //            Me.Controls.Add(New ucWeather)
                //            aScreenObject(iLoop).Control_Index = Me.Controls.Count - 1
                //            Me.Controls(aScreenObject(iLoop).Control_Index).Top = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "Y")
                //            Me.Controls(aScreenObject(iLoop).Control_Index).Left = OSAEApi.GetObjectProperty(aScreenObject(iLoop).Control_Name, "X")
                //            Me.Controls(aScreenObject(iLoop).Control_Index).BringToFront()

                //            '
                //        End If
                //    End If
                //If iStateImageList.EndsWith(",") Then iStateImageList = iStateImageList.Substring(0, iStateImageList.Length - 1)
                //Timer1.Enabled = True
            }
        }
Exemplo n.º 2
0
        private void Update_Objects(String sScreen)
        {
            MySqlCommand CMD  = new MySqlCommand();
            MySqlCommand CMD2 = new MySqlCommand();

            CMD.Connection   = CN;
            CMD.CommandType  = CommandType.Text;
            CMD2.Connection  = CN2;
            CMD2.CommandType = CommandType.Text;
            CMD2.CommandText = "SELECT object_name,control_type,state_name,last_state_change FROM osae_v_screen_updates WHERE screen_name=?ScreenName AND last_updated > subtime(now(),'00:00:05')";
            CMD2.Parameters.AddWithValue("?ScreenName", gCurrentScreen);
            try
            {
                CN2.Open();
                MySqlDataReader myReader = CMD2.ExecuteReader();
                while (myReader.Read())
                {
                    foreach (ScreenObject dso in aScreenObject)
                    {
                        if (dso.Object_Name == myReader.GetString("object_name"))
                        {
                            if (myReader.GetString("control_type") == "CONTROL STATE IMAGE")
                            {
                                String sState = Convert.ToString(myReader.GetString("state_name"));
                                dso.Object_State_Time = myReader.GetString("last_state_change");

                                // '            sPropertyBlock = Read_Properties(aScreenObject(iLoop).Object_Name)
                                // ' g_toolTip.SetToolTip(aControlStateImage(aScreenObject(iLoop).Control_Index), aScreenObject(iLoop).Object_Name & " " & sState)

                                if (sState != dso.Object_State)
                                {
                                    dso.Object_State = sState;
                                    CMD.Parameters.Clear();
                                    CMD.CommandText = "SELECT property_name FROM osae_v_object_property WHERE object_name=?ObjectName AND property_value=?pstate";
                                    CMD.Parameters.AddWithValue("?ObjectName", dso.Control_Name);
                                    CMD.Parameters.AddWithValue("?pstate", sState);
                                    try
                                    {
                                        CN.Open();
                                        String sStateMatch = Convert.ToString(CMD.ExecuteScalar());
                                        CN.Close();
                                        if (sStateMatch != "")
                                        {
                                            sStateMatch = sStateMatch.Substring(0, 7);
                                        }
                                        String sImage = OSAEApi.GetObjectProperty(dso.Control_Name, sStateMatch + " Image");
                                        if (File.Exists(OSAEApi.APIpath + sImage))
                                        {
                                            sImage = OSAEApi.APIpath + sImage;
                                        }
                                        OSAE.ObjectProperty pZOrder = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "ZOrder");
                                        OSAE.ObjectProperty pX      = OSAEApi.GetObjectPropertyValue(dso.Control_Name, sStateMatch + " X");
                                        OSAE.ObjectProperty pY      = OSAEApi.GetObjectPropertyValue(dso.Control_Name, sStateMatch + " Y");
                                        dso.Object_State = sState;
                                        if (File.Exists(sImage))
                                        {
                                            Double dX = Convert.ToDouble(pX.Value);
                                            Canvas.SetLeft(dso.ScreenImage, dX);
                                            Double dY = Convert.ToDouble(pY.Value);
                                            Canvas.SetTop(dso.ScreenImage, dY);
                                            //dsi.Tag = canGUI.Children.Count;
                                            byte[] byteArray   = File.ReadAllBytes(sImage);
                                            var    imageStream = new MemoryStream(byteArray);
                                            var    bitmapImage = new BitmapImage();

                                            bitmapImage.BeginInit();
                                            bitmapImage.StreamSource = imageStream;
                                            bitmapImage.EndInit();
                                            //canGUI.Background = new ImageBrush(bitmapImage);

                                            dso.ScreenImage.Source = bitmapImage;
                                        }
                                        if (pZOrder.Value == "0")
                                        {
                                            // dsi.SendToBack();
                                        }
                                        else
                                        {
                                            // dsi.BringToFront();
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        MessageBox.Show("GUI Error Update_Objects 1: " + ex.Message);
                                        CN.Close();
                                    }
                                }
                            }
                            else if (dso.Control_Type == "CONTROL PROPERTY LABEL")
                            {
                                dso.Object_Name = OSAEApi.GetObjectProperty(dso.Control_Name, "Object Name");
                                String sPropertyName = OSAEApi.GetObjectProperty(dso.Control_Name, "Property Name");
                                dso.Property_Name = sPropertyName;
                                String sPropertyValue  = OSAEApi.GetObjectProperty(dso.Object_Name, sPropertyName);
                                String sBackColor      = OSAEApi.GetObjectProperty(dso.Control_Name, "Back Color");
                                String sForeColor      = OSAEApi.GetObjectProperty(dso.Control_Name, "Fore Color");
                                String sPrefix         = OSAEApi.GetObjectProperty(dso.Control_Name, "Prefix");
                                String sSuffix         = OSAEApi.GetObjectProperty(dso.Control_Name, "Suffix");
                                String iFontSize       = OSAEApi.GetObjectProperty(dso.Control_Name, "Font Size");
                                String sFontName       = OSAEApi.GetObjectProperty(dso.Control_Name, "Font Name");
                                OSAE.ObjectProperty pX = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "X");
                                OSAE.ObjectProperty pY = OSAEApi.GetObjectPropertyValue(dso.Control_Name, "Y");
                                Double dX = Convert.ToDouble(pX.Value);
                                Canvas.SetLeft(dso.ScreenLabel, dX);
                                Double dY = Convert.ToDouble(pY.Value);
                                Canvas.SetTop(dso.ScreenLabel, dY);
                                try
                                {
                                    if (sPropertyValue != "")
                                    {
                                        if (sBackColor != "")
                                        {
                                            BrushConverter  conv  = new BrushConverter();
                                            SolidColorBrush brush = conv.ConvertFromString(sBackColor) as SolidColorBrush;
                                            dso.ScreenLabel.Background = brush;
                                        }
                                        if (sForeColor != "")
                                        {
                                            BrushConverter  conv  = new BrushConverter();
                                            SolidColorBrush brush = conv.ConvertFromString(sForeColor) as SolidColorBrush;
                                            dso.ScreenLabel.Foreground = brush;
                                        }
                                        if (iFontSize != "")
                                        {
                                            dso.ScreenLabel.FontSize = Convert.ToDouble(iFontSize);
                                        }
                                        dso.ScreenLabel.Content = sPrefix + sPropertyValue + sSuffix;
                                        dso.Object_State        = "";
                                    }
                                    else
                                    {
                                        dso.ScreenLabel.Content = "";
                                    }
                                }
                                catch (Exception myerror)
                                {
                                }
                            }
                        }
                    }
                }
                CN2.Close();
            }
            catch (MySqlException ex)
            {
                MessageBox.Show("GUI Error Update_Objects 2: " + ex.Message);
                CN2.Close();
            }
        }