none
ethernet bağlantısı koptugunda exe nin hata vermesi RRS feed

Tüm Yanıtlar

  • Try Catch bloğu ile :)
    27 Eylül 2016 Salı 06:25
  • try catch ile olmuyor
    27 Eylül 2016 Salı 06:45
  • try catch ile olur :) tabi bunu yönetmek biraz zor olur databinder varsa

    Fullstack Developer

    27 Eylül 2016 Salı 08:06
  • symkontrol Bağlantı kodlarını yayınlarsan daha iyi yardım alabilirsin.  Bu şekilde sadece tahminde bulunabiliriz. 

    27 Eylül 2016 Salı 11:34
  • mail adresinizi yollarsanız size projeyi yollayabilirim.

    27 Eylül 2016 Salı 12:01
  • using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace TIRSAN
    {
        public partial class ANA_SAYFA : Form
        {
            public ANA_SAYFA()
            {
                InitializeComponent();
            }
            int[] yaz = new int[1000];
            bool[] dij = new bool[1000];
            int[] yazd = new int[1000];
            float[] re = new float[1000];
            private void toolStripButton5_Click(object sender, EventArgs e)
            {
                Program.ASR1.MdiParent = this;
                Program.ASR1.Show();
                Program.ASR1.WindowState = FormWindowState.Maximized;
                Program.ASR2.Hide();
                Program.ASR3.Hide();
            }
            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                Program.ASR2.MdiParent = this;
                Program.ASR2.Show();
                Program.ASR2.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
            }
            private void timer1_Tick(object sender, EventArgs e)
            {
                timer1.Enabled = false;

                if (Program.Baglandi == false)
                {
                    //Program.IPAdres = "192.168.1.100";
                    //Program.Port = 102;
                    //Program.Baglandi = true;
                    //DURUM.Text = "Plc Bağlantısı Sağlandı!";
                    //Program.baglan();
                }
                if (Program.Baglandi == true)
                {
                 
                    textBox1.Text = "true";
                        }
                else
                {
                    textBox1.Text = "false";
                    }

            timer1.Enabled = true;
            }

            private void ANA_SAYFA_Load(object sender, EventArgs e)
            {
                //Program.IPAdres = "192.168.1.100";
                //Program.Port = 102;
                //Program.Baglandi = true;
                //DURUM.Text = "Plc Bağlantısı Sağlandı!";
                //Program.baglan();
                Program.ASR1.MdiParent = this;
                Program.ASR1.Show();
                Program.ASR1.WindowState = FormWindowState.Maximized;
                Program.ASR2.MdiParent = this;
                Program.ASR2.Show();
                Program.ASR2.WindowState = FormWindowState.Maximized;
                Program.ASR3.MdiParent = this;
                Program.ASR3.Show();
                Program.ASR3.WindowState = FormWindowState.Maximized;
                Program.ASR4.MdiParent = this;
                Program.ASR4.Show();
                Program.ASR4.WindowState = FormWindowState.Maximized;
                Program.BOR1.MdiParent = this;
                Program.BOR1.Show();
                Program.BOR1.WindowState = FormWindowState.Maximized;
                Program.BOR2.MdiParent = this;
                Program.BOR2.Show();
                Program.BOR2.WindowState = FormWindowState.Maximized;
                Program.BOR3.MdiParent = this;
                Program.BOR3.Show();
                Program.BOR3.WindowState = FormWindowState.Maximized;
                Program.BOR4.MdiParent = this;
                Program.BOR4.Show();
                Program.BOR4.WindowState = FormWindowState.Maximized;
                Program.SQL.MdiParent = this;
                Program.SQL.Show();
                Program.SQL.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
                timer1.Enabled = true;

            }
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                Program.ASR3.MdiParent = this;
                Program.ASR3.Show();
                Program.ASR3.WindowState = FormWindowState.Maximized;
                Program.ASR2.Hide();
                Program.ASR1.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                Program.ASR4.MdiParent = this;
                Program.ASR4.Show();
                Program.ASR4.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
            private void toolStripButton8_Click(object sender, EventArgs e)
            {
                Program.BOR1.MdiParent = this;
                Program.BOR1.Show();
                Program.BOR1.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
            private void toolStripButton7_Click(object sender, EventArgs e)
            {
                Program.BOR2.MdiParent = this;
                Program.BOR2.Show();
                Program.BOR2.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
            private void toolStripButton6_Click(object sender, EventArgs e)
            {
                Program.BOR3.MdiParent = this;
                Program.BOR3.Show();
                Program.BOR3.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
         
            private void toolStripSplitButton1_ButtonClick(object sender, EventArgs e)
            {
                Program.SQL.MdiParent = this;
                Program.SQL.Show();
                Program.SQL.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
            }
            private void toolStripButton9_Click(object sender, EventArgs e)
            {
                Program.BOR4.MdiParent = this;
                Program.BOR4.Show();
                Program.BOR4.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.SQL.Hide();
            }
            private void groupBox1_Enter(object sender, EventArgs e)
            {
            }
            private void RECETE_CAGIR_MouseDown(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 2, 15 * 8 + 0, 1, BitConverter.GetBytes(1));
                }
            }
            private void RECETE_CAGIR_MouseUp(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 2, 15 * 8 + 0, 1, BitConverter.GetBytes(0));
                }
            }
            private void SISTEM_START_MouseDown(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 0, 1, BitConverter.GetBytes(1));
                }
            }
            private void SISTEM_START_MouseUp(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 0, 1, BitConverter.GetBytes(0));
                }
            }
            private void SISTEM_STOP_MouseDown(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 1, 1, BitConverter.GetBytes(1));
                }
            }
            private void SISTEM_STOP_MouseUp(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 1, 1, BitConverter.GetBytes(0));
                }
            }
            private void SISTEM_RESET_MouseDown(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 3, 1, BitConverter.GetBytes(1));
                }
            }
            private void SISTEM_RESET_MouseUp(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 3, 1, BitConverter.GetBytes(0));
                }
            }
            private void BAGLAN_Click(object sender, EventArgs e)
            {
                Program.IPAdres = "192.168.1.100";
                Program.Port = 102;
                Program.Baglandi = true;
                DURUM.Text = "Plc Bağlantısı Sağlandı!";
                Program.baglan();
            }
            private void KOPAR_Click(object sender, EventArgs e)
            {
                Program.Baglandi = false;
                SYMKONTROL.closePort(Program.fds.wfd);
                Program.di.disconnectAdapter();
                Program.dc.disconnectPLC();
            }
        }
    }
    9 Ekim 2016 Pazar 18:57
  •                   
    Kendi gönderdiklerinizi oylayamazsınız
    0
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace TIRSAN
    {
        public partial class ANA_SAYFA : Form
        {
            public ANA_SAYFA()
            {
                InitializeComponent();
            }
            int[] yaz = new int[1000];
            bool[] dij = new bool[1000];
            int[] yazd = new int[1000];
            float[] re = new float[1000];
            private void toolStripButton5_Click(object sender, EventArgs e)
            {
                Program.ASR1.MdiParent = this;
                Program.ASR1.Show();
                Program.ASR1.WindowState = FormWindowState.Maximized;
                Program.ASR2.Hide();
                Program.ASR3.Hide();
            }
            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                Program.ASR2.MdiParent = this;
                Program.ASR2.Show();
                Program.ASR2.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
            }
            private void timer1_Tick(object sender, EventArgs e)
            {
                timer1.Enabled = false;

                if (Program.Baglandi == false)
                {
                    //Program.IPAdres = "192.168.1.100";
                    //Program.Port = 102;
                    //Program.Baglandi = true;
                    //DURUM.Text = "Plc Bağlantısı Sağlandı!";
                    //Program.baglan();
                }
                if (Program.Baglandi == true)
                {
                 
                    textBox1.Text = "true";
                        }
                else
                {
                    textBox1.Text = "false";
                    }

            timer1.Enabled = true;
            }

            private void ANA_SAYFA_Load(object sender, EventArgs e)
            {
                //Program.IPAdres = "192.168.1.100";
                //Program.Port = 102;
                //Program.Baglandi = true;
                //DURUM.Text = "Plc Bağlantısı Sağlandı!";
                //Program.baglan();
                Program.ASR1.MdiParent = this;
                Program.ASR1.Show();
                Program.ASR1.WindowState = FormWindowState.Maximized;
                Program.ASR2.MdiParent = this;
                Program.ASR2.Show();
                Program.ASR2.WindowState = FormWindowState.Maximized;
                Program.ASR3.MdiParent = this;
                Program.ASR3.Show();
                Program.ASR3.WindowState = FormWindowState.Maximized;
                Program.ASR4.MdiParent = this;
                Program.ASR4.Show();
                Program.ASR4.WindowState = FormWindowState.Maximized;
                Program.BOR1.MdiParent = this;
                Program.BOR1.Show();
                Program.BOR1.WindowState = FormWindowState.Maximized;
                Program.BOR2.MdiParent = this;
                Program.BOR2.Show();
                Program.BOR2.WindowState = FormWindowState.Maximized;
                Program.BOR3.MdiParent = this;
                Program.BOR3.Show();
                Program.BOR3.WindowState = FormWindowState.Maximized;
                Program.BOR4.MdiParent = this;
                Program.BOR4.Show();
                Program.BOR4.WindowState = FormWindowState.Maximized;
                Program.SQL.MdiParent = this;
                Program.SQL.Show();
                Program.SQL.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
                timer1.Enabled = true;

            }
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                Program.ASR3.MdiParent = this;
                Program.ASR3.Show();
                Program.ASR3.WindowState = FormWindowState.Maximized;
                Program.ASR2.Hide();
                Program.ASR1.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                Program.ASR4.MdiParent = this;
                Program.ASR4.Show();
                Program.ASR4.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
            private void toolStripButton8_Click(object sender, EventArgs e)
            {
                Program.BOR1.MdiParent = this;
                Program.BOR1.Show();
                Program.BOR1.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
            private void toolStripButton7_Click(object sender, EventArgs e)
            {
                Program.BOR2.MdiParent = this;
                Program.BOR2.Show();
                Program.BOR2.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
            private void toolStripButton6_Click(object sender, EventArgs e)
            {
                Program.BOR3.MdiParent = this;
                Program.BOR3.Show();
                Program.BOR3.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR4.Hide();
                Program.SQL.Hide();
            }
         
            private void toolStripSplitButton1_ButtonClick(object sender, EventArgs e)
            {
                Program.SQL.MdiParent = this;
                Program.SQL.Show();
                Program.SQL.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.BOR4.Hide();
            }
            private void toolStripButton9_Click(object sender, EventArgs e)
            {
                Program.BOR4.MdiParent = this;
                Program.BOR4.Show();
                Program.BOR4.WindowState = FormWindowState.Maximized;
                Program.ASR1.Hide();
                Program.ASR2.Hide();
                Program.ASR3.Hide();
                Program.ASR4.Hide();
                Program.BOR1.Hide();
                Program.BOR2.Hide();
                Program.BOR3.Hide();
                Program.SQL.Hide();
            }
            private void groupBox1_Enter(object sender, EventArgs e)
            {
            }
            private void RECETE_CAGIR_MouseDown(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 2, 15 * 8 + 0, 1, BitConverter.GetBytes(1));
                }
            }
            private void RECETE_CAGIR_MouseUp(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 2, 15 * 8 + 0, 1, BitConverter.GetBytes(0));
                }
            }
            private void SISTEM_START_MouseDown(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 0, 1, BitConverter.GetBytes(1));
                }
            }
            private void SISTEM_START_MouseUp(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 0, 1, BitConverter.GetBytes(0));
                }
            }
            private void SISTEM_STOP_MouseDown(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 1, 1, BitConverter.GetBytes(1));
                }
            }
            private void SISTEM_STOP_MouseUp(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 1, 1, BitConverter.GetBytes(0));
                }
            }
            private void SISTEM_RESET_MouseDown(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 3, 1, BitConverter.GetBytes(1));
                }
            }
            private void SISTEM_RESET_MouseUp(object sender, MouseEventArgs e)
            {
                if (Program.Baglandi == true)
                {
                    Program.dc.writeBits(SYMKONTROL.daveDB, 1, 56 * 8 + 3, 1, BitConverter.GetBytes(0));
                }
            }
            private void BAGLAN_Click(object sender, EventArgs e)
            {
                Program.IPAdres = "192.168.1.100";
                Program.Port = 102;
                Program.Baglandi = true;
                DURUM.Text = "Plc Bağlantısı Sağlandı!";
                Program.baglan();
            }
            private void KOPAR_Click(object sender, EventArgs e)
            {
                Program.Baglandi = false;
                SYMKONTROL.closePort(Program.fds.wfd);
                Program.di.disconnectAdapter();
                Program.dc.disconnectPLC();
            }
        }
    }
    9 Ekim 2016 Pazar 19:33
  • neden paylaştın ki bunları? ne ki bunlar?

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    10 Ekim 2016 Pazartesi 13:38
    Moderatör
  • Ethernet bağlantım kopuyor. koptuğunda exe nın hata verip kapanmasını nasıl engelleyebilirim
    10 Ekim 2016 Pazartesi 21:38
  • 1. Ethernet bağlantısı koptuğunda program neden hata verir?

    Program içinde sonsuz bir döngü veya timer ile belli aralıklar ile veya sürekli olarak ethernet bağlantısı üzerinden bir işlem yapan kod parçası vardır. Bağlantının sürekliliği kontrol edilmediği için bağlantı koptuğunda bu kod parçacığı olayın farkına varamayacağı için sanki bağlıymışcasına işlem yapmaya çalışacak ama başarılı olamayacak dolayısı ile hata verecektir.

    2. Nasıl önlerim?

    i.) o kod parçacığı çalışmadan önce bağlantı var mı yok mu kontrol ederim.

    ii.) O kod parçacığını bir try-catch bloğuna alırım. Catch kısmında bağlantıyı yeniden kurmaya çalışır, belli bir deneme sayısından sonra hata mesajı veririm. Bağlantı sağlanırsa çalışmaya devam ederim.

    i. seçeneği sadece seçenek olduğu için yazdım bence kötü bir seçenektir. bağlantı kopmadığı halde hemde bir döngü içinde  devamlı bağlantı koptu mu diye kontrol etmek gereksiz ve mantıklı değil.

    Yalnız tabi burada başka sorunlar da çıkabilir. Bekleme süreleri gibi.


    http://pgnchess.com
    http://dergikapaklari.com

    10 Ekim 2016 Pazartesi 22:32
  • Ethernet bağlantım kopuyor. koptuğunda exe nın hata verip kapanmasını nasıl engelleyebilirim

    Neden paylaştın derken, şahsi algılamandan korkuyorum ama yukarıda paylaştığın şey çok kötü. Hem seni kırmamak istiyorum hem de kodun çok kötü olduğunu belirtecek bir kelime bulmaya çalışıyorum. Sanırım yeterli olur.

    Exception, "özel durum" demektir. Network bağlantısının kopması kod ile engelleyemeyeceğimiz bir "özel durum" dur.

    Kod içinde exceptionları try ... catch ile yakalar, gerekli dallanmayı yaparız. try ... catch hata engelleme yapısı değildir, özel durumları hallettme yapısıdır.

    Bunu sana 3 farklı kişi söyledi sanırım bende 4. oldum.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    11 Ekim 2016 Salı 06:08
    Moderatör
  • eleştirileriniz için teşekkür ederim. ben kendi kendime c# öğrenmeye çalışıyorum. hergeçen gün bişeyler sizlerin sayesinde öğreniyorum.
    11 Ekim 2016 Salı 07:43