الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البرنامج يتوقف عن الاستجابة

مغلق
بدأه oldman في 28 مارس 2006 · 6 رد · 647 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

الموضوع باختصار هو انني اعمل على برنامج chat

وهذا البرنامج هو مشروع تخرجي

والمشكلة تحدث عندما استدعي function علما بانني استدعي نفس ال function ولكن من form اخر ولا تحدث مشكلة

والهدف من هذه ال function هو انشاء form لاجراء محادثة في حال اراد شخص ان يكلمني

والمشكلة موجودة في class Connection

فعند استدعاء هذه الfunction ينشئ البرنامج form ويرسل الرسالة ولكنه يتوقف عن الاستجابة

لقد اضفت المشروع وهو يحتوي على برنامج client الملف التطبيقي لServer

واسف للاطالة

Client.rar

#2

ما اسم ال Function ؟؟؟

وما هو اسم ال Form ؟؟؟

المشروع كبير ومش مفهوم !!! :wacko:

#3

اعتقد ان المشكلة هي كالتالي:

أنت تقوم بالتعديل على variables موجودة بال form قبل أن تعمل form.show

حاول أن تعمل show لل form ثم عدل على ما بداخله من variables

#4
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Windows.Forms;

namespace Client
{
    class Connection
    {
    
        static TextChat MyChat = new TextChat();
        static Hashtable RunningChat = new Hashtable();
        static FrmChat PrivateChat;
        static string MyName;

        public Connection()
        {

        }

        //override constructor to  connect with the server
        public Connection(string UserName)
        {
            MyName = UserName;
            MyChat.ConnectToServer(UserName);

        }

        public void RemoveUser(string UserName)
        {
            RunningChat.Remove(UserName);
        }
        
        public void CreatePrivateChat(string UsrName)
        {

            FrmChat PrivateChat = new FrmChat(UsrName,MyName);
            RunningChat.Add(UsrName, PrivateChat);
            PrivateChat.Text = "Chat With " + UsrName;
            PrivateChat.Show();
           
        }
       
        // send messege to the server
        public void SendMessege(string Msg)
        {
            MyChat.SendText(Msg);
        }

        // send messege to chat form
        public void ReceiveMessege(string Msg)
        {
            //split the user name from the messege
            string []Names;
            char[] SplleterMy = {'&'};
            char[] Spleter = {':'};
            string NewMsg;

            /*
              * Names[0] store The Name Of the user I chat with
              * Names[1] Store My Name 
              * Names[2] Store the Messege
           */
         
            Names = Msg.Split(Spleter[0], SplleterMy[0]);
            NewMsg =Names[0]+':'+Names[2];


          

            // To Check If The Messege For Me
            if (Names[1] == MyName)
            {
                    if (!RunningChat.ContainsKey(Names[0].Trim()))
                    {
                 
                         CreatePrivateChat(Names[0].Trim());//هنا المشكلة    ///////////////////////////////////////////////////     
                    }


                    foreach (DictionaryEntry d in RunningChat)
                    {
                        //Use Trim To Remove Spaces
                        if (RunningChat.ContainsKey(Names[0].Trim()))
                        {
                            PrivateChat = (FrmChat)d.Value;
                            PrivateChat.msgViewBox.AppendText(NewMsg);
                        }

                    }

            }
        }
    }
}

المشكلة عندما يريد شخص اخر يستخدم البرنامج ان يقوم بمحادثتي ولا يوجد فورم خاص بالمحادثة فالمفروض ان يتم انشاء فورم للمحادثة

وهنا تحدث المشكلة

علما بانني لو فتحت انا فورم والطرف الاخر فتح فورم للمحادثة فلا تحدث مشلكلة

ولقد جربت ان اضفت فورم فارغ وليس به كود وقمت بانشائه في السطر المشار اليه فوقق بالكود وحصلت نفس المشكلة :(

تم تعديل هذه المشاركة بواسطة oldman في 28 مارس 2006 في 22:09

#5

اين انتم يا شباب

#6

انا اعتقد ان المشكلة في Class TextChat داخل Function BuildText حيث لنها هس المسؤولة عن ارسال القيمة الى Class Connection

ولكن لا اعرف كيف اتعامل معها

جربت ان اعرف thread جديد داخل Class Connection ليقوم بعملية انشاء الفورم الجديد ولكن الفورم كان يظهر ويختفي بسرعة

#7

السلام عليكم تم حل المشكلة الحمد لله

لقد قمت بانشاء thread داخل class connection يقوم باستدعاء فورم جديد قمت بعمله

يتم عرض الفورم عن طريق showdialog حتى لا يختفي

وهذا الفورم الجديد ينشيء فوم المحادثة

:lol: :lol: :lol:

لا اعلم اذا كان هناك طريقة افضل ولكن هذا يؤدي الغرض

Client.rar

هذا الموضوع مغلق.

مواضيع مشابهة