تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] خطاء عند تحويل الكود
#1
السلام عليكم ورحمة الله

لدي برنامج سطح مكتب مصمم بلغة سي شارب

اريد تحويلة الي VB.NET

استخدمت مواقع التحويل وظهر خطائيين بالبرنامج :

'ReceiveMsg' is not an event of 'Form1'.1-

2- Function '<anonymous method>' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used

الخطا الاول حاولت بالطريقة دية

Public Event ReceiveMsg As EventHandler


حدث خطا بكود فورم اللواد  بقيمة ReceiveMsg


وظهر الخطا


'Public Event ReceiveMsg(sender As Object, e As System.EventArgs)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.


الكود السي شارب

كود :
{
   public partial class Form1 : Form
   {
       public EventHandler ReceiveMsg ;
       DateTime LastReceive;

       public Form1()
       {
           InitializeComponent();
           ReceiveMsg += ReceiveMsg_Handler;
           LastReceive = DateTime.Now;
           IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());

           IPAddress ipAddress = ipHostInfo.AddressList.Where(x => x.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
             .FirstOrDefault();
           lblip.Text = ipAddress.ToString();

       }
       private void ReceiveMsg_Handler(object sender, EventArgs e)
       {
         
           LastReceive = DateTime.Now;
           Timer1_Tick(null, null);
           if (sender.ToString().Contains("ping"))
               return;
           var Barcode = sender.ToString().Split('-');
           if (Barcode.Length > 1)
           {
               txtbarcode.Invoke((MethodInvoker)delegate
               {
                   // Running on the UI thread
                   txtbarcode.Text = Barcode[0];
                   txtname.Text = Barcode[1].Substring(0, Barcode[1].IndexOf("<EOF>"));
               });
               SendKeys.SendWait(Barcode[0]);
           }
       }
       Thread Serverthread;
       private void Form1_Load(object sender, EventArgs e)
       {
           AsynchronousSocketListener.ReceiveMsg = ReceiveMsg;

            Serverthread = new Thread(new ThreadStart(() => {
               AsynchronousSocketListener.StartListening();
           }));
           Serverthread.Start();
       }


       private void Timer1_Tick(object sender, EventArgs e)
       {
           bool res = DateTime.Now - LastReceive >= TimeSpan.FromSeconds(2);
           lblStatus.Invoke((MethodInvoker)delegate
           {
               lblStatus.Text = res ? "Disconnected": "Connected";
               lblStatus.ForeColor = res ? Color.Red : Color.Green;
           });
               return;
       }

       private void Form1_FormClosed(object sender, FormClosedEventArgs e)
       {
           timer1.Stop();
           Serverthread.Abort();
       }
   }
بعد التحويل وظهور المشاكل


كود :
Public Partial Class Form1
   Inherits Form

   Public ReceiveMsg As EventHandler
   Private LastReceive As DateTime

   Public Sub New()
       InitializeComponent()
      AddHandler ReceiveMsg, AddressOf ReceiveMsg_Handler
       LastReceive = DateTime.Now
       Dim ipHostInfo As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
       Dim ipAddress As IPAddress = ipHostInfo.AddressList.Where(Function(x) x.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork).FirstOrDefault()
       lblip.Text = ipAddress.ToString()
   End Sub

   Private Sub ReceiveMsg_Handler(ByVal sender As Object, ByVal e As EventArgs)
       LastReceive = DateTime.Now
       Timer1_Tick(Nothing, Nothing)
       If sender.ToString().Contains("ping") Then Return
       Dim Barcode = sender.ToString().Split("-"c)

       If Barcode.Length > 1 Then
           txtbarcode.Invoke(CType(Function()
                                       txtbarcode.Text = Barcode(0)
                                       txtname.Text = Barcode(1).Substring(0, Barcode(1).IndexOf("<EOF>"))
                                   End Function, MethodInvoker))
           SendKeys.SendWait(Barcode(0))
       End If
   End Sub

   Private Serverthread As Thread

   Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
       AsynchronousSocketListener.ReceiveMsg = ReceiveMsg
       Serverthread = New Thread(New ThreadStart(Function()
                                                     AsynchronousSocketListener.StartListening()
                                                 End Function))
       Serverthread.Start()
   End Sub

   Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
       Dim res As Boolean = DateTime.Now - LastReceive >= TimeSpan.FromSeconds(2)
       lblStatus.Invoke(CType(Function()
                                  lblStatus.Text = If(res, "Disconnected", "Connected")
                                  lblStatus.ForeColor = If(res, Color.Red, Color.Green)
                              End Function, MethodInvoker))
       Return
   End Sub

   Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As FormClosedEventArgs)
       timer1.[Stop]()
       Serverthread.Abort()
   End Sub
End Class
الرد }}}
تم الشكر بواسطة: asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن حل المشكلة فى الكود التالي - من مشاركة استاذنا القدير / عبدالله الدوسري new_programer 4 169 02-03-24, 07:36 PM
آخر رد: new_programer
  ماهو حل هذا الخطأ في الكود melad2002 7 264 25-02-24, 12:25 AM
آخر رد: justforit
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 194 20-02-24, 12:00 AM
آخر رد: Kamil
  [VB.NET] أرغب فى استخدام هذا الكود بالتحديد على الإصدار 10 AmeenRashed 3 206 19-01-24, 12:42 PM
آخر رد: Taha Okla
  [VB.NET] تحويل المشروع سطح المكتب للعمل على الويب Doby 3 359 13-01-24, 04:22 AM
آخر رد: dr.programming
  تحويل مشروع من c# الى فيجول بيسك Lathe1 4 718 05-01-24, 01:05 AM
آخر رد: HALIM ELEULMA
  [VB.NET] تحويل التاريخ بين أداتين تايم بيكر في نفس الفورم محمد العموري 1 271 29-12-23, 10:44 PM
آخر رد: Kamil
  [VB.NET] ما الخطأ فى هذا الكود - كود البحث المتعدد Ashraf Elafify 7 464 27-12-23, 10:50 PM
آخر رد: Ashraf Elafify
  [VB.NET] اريد تعديل في الكود عند طباعة DGV abu_hisham7 1 431 03-12-23, 02:40 AM
آخر رد: abu_hisham7
  تحويل مشروع من 2008 الي 2015 atefkhalf2004 0 259 23-11-23, 03:10 PM
آخر رد: atefkhalf2004

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم