تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ما الخطاء فى هذا الكود
#1
السلام عليكم ورحمة الله

كود :
[color=#0000FF]Public[/color] [color=#0000FF]Class[/color] [color=#2B91AF]Form[/color]
    [color=#0000FF]Private[/color] [color=#0000FF]Sub[/color][color=#000000] Button1_Click(sender [/color][color=#0000FF]As[/color] [color=#0000FF]Object[/color][color=#000000], e [/color][color=#0000FF]As[/color] [color=#2B91AF]EventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles[/color][color=#000000] Button1.Click[/color]
[color=#000000]        BackgroundWorker1.RunWorkerAsync()[/color]
    [color=#0000FF]End[/color] [color=#0000FF]Sub[/color]

    [color=#0000FF]Private[/color] [color=#0000FF]Sub[/color][color=#000000] BackgroundWorker1_DoWork(sender [/color][color=#0000FF]As[/color] [color=#0000FF]Object[/color][color=#000000], e [/color][color=#0000FF]As[/color][color=#000000] System.ComponentModel.[/color][color=#2B91AF]DoWorkEventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles[/color][color=#000000] BackgroundWorker1.DoWork[/color]
        [color=#0000FF]For[/color][color=#000000] a [/color][color=#0000FF]As[/color] [color=#0000FF]Integer[/color][color=#000000] = 1 [/color][color=#0000FF]To[/color][color=#000000] 1000[/color]
            [color=#0000FF]Dim[/color][color=#000000] lbl [/color][color=#0000FF]As[/color] [color=#0000FF]New[/color] [color=#2B91AF]Label[/color]
[color=#000000]            lbl.Text = [/color][color=#A31515]"kkkkkkkkkkkkkkkkk_"[/color][color=#000000] & a.ToString[/color]
[color=#000000]            FlowLayoutPanel1.Controls.Add(lbl)[/color]
        [color=#0000FF]Next[/color]
    [color=#0000FF]End[/color] [color=#0000FF]Sub[/color]

[color=#0000FF]End[/color] [color=#0000FF]Class[/color]



الرد }}}
تم الشكر بواسطة:
#2
يوجد سطر يحل الاشكال لكن ليس محبذ
كود :
Control.CheckForIllegalCrossThreadCalls = False
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#3
جزاك الله خير اخى وحبيبى سعود
مش فاهم الكود ومش فاهم تقصد ايه
الرد }}}
تم الشكر بواسطة:
#4
كود :
[color=#0000FF]Public[/color] [color=#0000FF]Class[/color] [color=#2B91AF]Form1[/color]
    [color=#0000FF]Private[/color] [color=#0000FF]Delegate[/color] [color=#0000FF]Sub[/color] [color=#2B91AF]AddControlSafe[/color][color=#000000](c [/color][color=#0000FF]As[/color] [color=#2B91AF]Control[/color][color=#000000])[/color]

    [color=#0000FF]Private[/color] [color=#0000FF]Sub[/color][color=#000000] Form1_Load(sender [/color][color=#0000FF]As[/color] [color=#0000FF]Object[/color][color=#000000], e [/color][color=#0000FF]As[/color] [color=#2B91AF]EventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles[/color] [color=#0000FF]MyBase[/color][color=#000000].Load[/color]
[color=#000000]        FlowLayoutPanel1.AutoScroll = [/color][color=#0000FF]True[/color]
[color=#000000]        BGW.RunWorkerAsync()[/color]
    [color=#0000FF]End[/color] [color=#0000FF]Sub[/color]

    [color=#0000FF]Private[/color] [color=#0000FF]Sub[/color][color=#000000] BGW_DoWork(sender [/color][color=#0000FF]As[/color] [color=#0000FF]Object[/color][color=#000000], e [/color][color=#0000FF]As[/color] [color=#2B91AF]DoWorkEventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles[/color][color=#000000] BGW.DoWork[/color]
        [color=#0000FF]Dim[/color][color=#000000] [delegate] [/color][color=#0000FF]As[/color] [color=#0000FF]New[/color] [color=#2B91AF]AddControlSafe[/color][color=#000000]([/color][color=#0000FF]Sub[/color][color=#000000](c [/color][color=#0000FF]As[/color] [color=#2B91AF]Control[/color][color=#000000])[/color]
[color=#000000]                                                 FlowLayoutPanel1.Controls.Add(c)[/color]
                                             [color=#0000FF]End[/color] [color=#0000FF]Sub[/color][color=#000000])[/color]
        [color=#0000FF]For[/color][color=#000000] a [/color][color=#0000FF]As[/color] [color=#0000FF]Integer[/color][color=#000000] = 1 [/color][color=#0000FF]To[/color][color=#000000] 1000[/color]
            [color=#0000FF]Dim[/color][color=#000000] lbl [/color][color=#0000FF]As[/color] [color=#0000FF]New[/color] [color=#2B91AF]Label[/color]
[color=#000000]            lbl.Text = [/color][color=#A31515]"kkkk_"[/color][color=#000000] & a[/color]
[color=#000000]            Invoke([delegate], lbl)[/color]
        [color=#0000FF]Next[/color]
    [color=#0000FF]End[/color] [color=#0000FF]Sub[/color]
[color=#0000FF]End[/color] [color=#0000FF]Class[/color]
الرد }}}
تم الشكر بواسطة:
#5
جزاك الله خير اخى احمد لاكن هذا الكود جديد عليا فعلا
ارجو من حدرتك شرح الاسطر التى تسبقها علامة ( " )

كود :
[color=#0000FF]Public[/color] [color=#0000FF]Class[/color] [color=#2B91AF]Form1[/color]

    [color=#008000]'[/color]
    [color=#0000FF]Private[/color] [color=#0000FF]Delegate[/color] [color=#0000FF]Sub[/color] [color=#2B91AF]AddControlSafe[/color][color=#000000](c [/color][color=#0000FF]As[/color] [color=#2B91AF]Control[/color][color=#000000])[/color]

    [color=#0000FF]Private[/color] [color=#0000FF]Sub[/color][color=#000000] Form1_Load(sender [/color][color=#0000FF]As[/color] [color=#0000FF]Object[/color][color=#000000], e [/color][color=#0000FF]As[/color] [color=#2B91AF]EventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles[/color] [color=#0000FF]MyBase[/color][color=#000000].Load[/color]
[color=#000000]        FlowLayoutPanel1.AutoScroll = [/color][color=#0000FF]True[/color]
[color=#000000]        BGW.RunWorkerAsync()[/color]
    [color=#0000FF]End[/color] [color=#0000FF]Sub[/color]

    [color=#0000FF]Private[/color] [color=#0000FF]Sub[/color][color=#000000] BGW_DoWork(sender [/color][color=#0000FF]As[/color] [color=#0000FF]Object[/color][color=#000000], e [/color][color=#0000FF]As[/color][color=#000000] System.ComponentModel.[/color][color=#2B91AF]DoWorkEventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles[/color][color=#000000] BGW.DoWork[/color]

        [color=#008000]'[/color]
        [color=#0000FF]Dim[/color][color=#000000] [delegate] [/color][color=#0000FF]As[/color] [color=#0000FF]New[/color] [color=#2B91AF]AddControlSafe[/color][color=#000000]([/color][color=#0000FF]Sub[/color][color=#000000](c [/color][color=#0000FF]As[/color] [color=#2B91AF]Control[/color][color=#000000])[/color]
[color=#000000]                                                 FlowLayoutPanel1.Controls.Add(c)[/color]
                                             [color=#0000FF]End[/color] [color=#0000FF]Sub[/color][color=#000000])[/color]

        [color=#0000FF]For[/color][color=#000000] a [/color][color=#0000FF]As[/color] [color=#0000FF]Integer[/color][color=#000000] = 1 [/color][color=#0000FF]To[/color][color=#000000] 1000[/color]
            [color=#0000FF]Dim[/color][color=#000000] lbl [/color][color=#0000FF]As[/color] [color=#0000FF]New[/color] [color=#2B91AF]Label[/color]
[color=#000000]            lbl.Text = [/color][color=#A31515]"kkkk_"[/color][color=#000000] & a[/color]
            [color=#008000]'[/color]
[color=#000000]            Invoke([delegate], lbl)[/color]
        [color=#0000FF]Next[/color]
    [color=#0000FF]End[/color] [color=#0000FF]Sub[/color]
[color=#0000FF]End[/color] [color=#0000FF]Class[/color]
الرد }}}
تم الشكر بواسطة:
#6
عندما تريد الوصول الى الفورم من thread اخر

لغات الدوت نت تمنع ذلك لاسباب ...... نسيت ههههه


المهم

عند اي كود تستخدمه للوصول الى الفورم

استخدم التفويض + invoke

طريقتي فيها لف ودوران شوي

ولذلك استعمل طريقة اخي سجاد :

PHP كود :
If (Me.InvokeRequiredThen
            Me
.Invoke(New MethodInvoker(Sub()
                                            
FlowLayoutPanel1.Controls.Add(lbl)
                                        
End Sub))
        
End If 

خلاص انحلت
الرد }}}
تم الشكر بواسطة:
#7
اسف اخي ahmed hussien لم ارى ردك
الرد }}}
تم الشكر بواسطة:
#8
الشاكي لله كتب :اسف اخي ahmed hussien لم ارى ردك

لا توجد مشكلة

ali.alfoly كتب :جزاك الله خير اخى احمد لاكن هذا الكود جديد عليا فعلا
ارجو من حدرتك شرح الاسطر التى تسبقها علامة ( " )

اسف اخى ليس لدى معلومات وافية عن Delegates & MethodInvoker
انا استخدمها عندما تظهر لي رسالة مثل التى ظهرت لك

لذلك ارجوا من احد الأخوة ان يتكرم بوضع بشرح عنها
الرد }}}
تم الشكر بواسطة:
#9
لايمكنك التعامل مع الCotrols الا من الThread الذي أنشأها

فعندما تستخدم background worker فإنك تستخدم simi-thread

وبطيعة الحالة سيتم منعك من التعامل مع الادوات لأنك لم تنشأها من الsimi-thread

لايوجد سبب واضح لفعل لمنع المستخدم من الوصول الى الادوات

ولكن مايكروسوفت تحب الsafty ، فقررت عدم السماح لأي ثريد بالوصول الى الادوات المنشئة في ثريد اخر (ربما لاجل التنظيم في stuck تنفيذ الاوامر ..)

وهكذا لايمكنك الوصول لها إلا باستعمال الاستدعاء المباشر (invoke)

فهو يقوم بتنفيذ الكود على الاداة دون نقلها الى مكدسة الترتيب

فالكود العادي دون invoke (مثلا تغيير خلفية الفورم) ، لايتم تنفيذه مباشرة

بل يتم نقله الى مكدسة خاصة منظمة تعمل على تنفيذ هذا الكود عندما يتم يحين دوره


اعتقد ان invoke تستعمل دالة API المسمى sendMessage لإرسال الكود

ولكن وجب التنبيه على ضرورة استخدام invokeRequired قبل كود invoke للتأكد

لأن هناك مشكلة قد تحدث عندما تستخدم invoke وانت لست بحاجة له
الرد }}}
تم الشكر بواسطة:
#10
جزاك الله خير
توضيح وافى جدا

طيب انا عملت UserControl1 ووضعت عليه مجموعة من الادوات منها RichTextBox1

وقمت بعمل نسخ منها فى التكرار يظهر خطاء

كود :
[color=#0000FF]Private[/color] [color=#0000FF]Sub[/color][color=#000000] BGW_DoWork(sender [/color][color=#0000FF]As[/color] [color=#0000FF]Object[/color][color=#000000], e [/color][color=#0000FF]As[/color][color=#000000] System.ComponentModel.[/color][color=#2B91AF]DoWorkEventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles[/color][color=#000000] BGW.DoWork[/color]

        [color=#0000FF]For[/color][color=#000000] a [/color][color=#0000FF]As[/color] [color=#0000FF]Integer[/color][color=#000000] = 1 [/color][color=#0000FF]To[/color][color=#000000] 1000[/color]
            [color=#0000FF]Dim[/color][color=#000000] Usr [/color][color=#0000FF]As[/color] [color=#0000FF]New[/color] [color=#2B91AF]UserControl1[/color]
[color=#000000]            Usr.RichTextBox1.Rtf = [/color][color=#A31515]"kkkk_"[/color][color=#000000] & a[/color]
            [color=#008000]'[/color]

            [color=#0000FF]If[/color][color=#000000] ([/color][color=#0000FF]Me[/color][color=#000000].InvokeRequired) [/color][color=#0000FF]Then[/color]
                [color=#0000FF]Me[/color][color=#000000].Invoke([/color][color=#0000FF]New[/color] [color=#2B91AF]MethodInvoker[/color][color=#000000]([/color][color=#0000FF]Sub[/color][color=#000000]()[/color]
[color=#000000]                                                FlowLayoutPanel1.Controls.Add(Usr)[/color]
                                            [color=#0000FF]End[/color] [color=#0000FF]Sub[/color][color=#000000]))[/color]
            [color=#0000FF]End[/color] [color=#0000FF]If[/color]
        [color=#0000FF]Next[/color]

    [color=#0000FF]End[/color] [color=#0000FF]Sub[/color]

الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information ما هو الخطاء في الكود ProgressBar1 Mostafa201255411 1 191 26-11-25, 08:19 PM
آخر رد: asmarsou
  [VB.NET] مساعدة تعديل على الكود ZEEN4ZEEN 2 209 08-10-25, 02:20 PM
آخر رد: salamandal
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 2 1,051 28-08-25, 09:13 AM
آخر رد: محمد مسافر
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 0 841 27-08-25, 04:05 PM
آخر رد: محمد مسافر
  ما هو الخطأ فى هذا الكود خالد كامل1 10 1,138 28-05-25, 09:16 PM
آخر رد: خالد كامل1
  ارجو تعديل الكود بواستطة الاجراء المخزن new_programer 3 676 03-04-25, 02:44 PM
آخر رد: princelovelorn
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 820 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 620 05-02-25, 01:51 AM
آخر رد: new_programer
  ارجو تقيم الكود المرفق - جلب اعلي رقم لتسلسل نصي للباركود new_programer 4 603 30-01-25, 08:26 AM
آخر رد: new_programer
  مساعدة في حل هذا الخطاء fireswored1 4 408 18-01-25, 06:48 PM
آخر رد: fireswored1

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


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