تقييم الموضوع :
  • 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]

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  حل مشكلة الكود الاتي - سهل- CLARO 3 71 02-12-16, 04:06 PM
آخر رد: ali.alfoly
  ما هو الخطاء فى هذا الكود "كود التعديل" السيد الجوهري 1 62 26-11-16, 03:22 AM
آخر رد: أبو عمر
  [VB.NET] ربط الداتا بيز بالكريستال ريبورت عن طريق الكود thevirus 3 93 22-11-16, 02:38 PM
آخر رد: thevirus
  [VB.NET] طلب تعديل ع الكود ليصبح البرنامج جاهزاً 3asfa~mdmra 8 188 12-11-16, 02:30 AM
آخر رد: 3asfa~mdmra
  [سؤال] هل يمكن عرض عناصر الكومبوبوكس عن طريق الكود ؟؟؟؟؟؟؟؟؟؟؟؟ thevirus 1 95 10-11-16, 06:25 PM
آخر رد: أبو عمر
  كيف اضيف هذا الكود في module nabil.1710 6 122 01-11-16, 03:23 PM
آخر رد: silverlight
  كيف انقل هذا الكود منForm2 اليForm1 3asfa~mdmra 2 72 30-10-16, 01:47 PM
آخر رد: 3asfa~mdmra
  ممكن شرح هذا الكود؟ rafaag777 0 68 26-10-16, 10:18 AM
آخر رد: rafaag777
Lightbulb ما هو الكود البرمجي لزر الطباعة بواسطة Crystal Reports Arabia 6 185 20-10-16, 01:52 AM
آخر رد: جوري
  مشكلة في هذا الكود كيف الحل abumuhannadzym 3 89 18-10-16, 12:45 AM
آخر رد: abumuhannadzym

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


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