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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] يرجى التعديل على الكود dubai.eig 4 68 أمس, 05:25 PM
آخر رد: dubai.eig
  اريد تحول الكود لفيجوال 2008 abudawoodd 6 164 15-01-17, 02:11 PM
آخر رد: abudawoodd
  تعديل الكود (ظهور مسج بوكس عند عدم وجود الاسم) Namer 10 409 04-01-17, 01:12 AM
آخر رد: Namer
  [VB.NET] هل الكود هذا صحيح dubai.eig 10 216 01-01-17, 10:15 PM
آخر رد: مساعدة
  اين اكتب هذا الكود anis_derna 3 140 28-12-16, 12:18 PM
آخر رد: thevirus
  تصحيح الكود الاتي CLARO 2 63 23-12-16, 02:12 PM
آخر رد: CLARO
  شرح الكود و الادوات المستخدمة anis_derna 1 88 20-12-16, 06:40 AM
آخر رد: silverlight
Information [VB.NET] تعديل بيسط على الكود 3asfa~mdmra 6 123 18-12-16, 04:31 AM
آخر رد: 3asfa~mdmra
  ما الخطأ فى هذا الكود ؟ what's error in my code ? twitter acount creator الماجيك مسعد 16 379 13-12-16, 01:21 AM
آخر رد: الماجيك مسعد
  [كود] تصحيح خطئ في الكود عبدالرحمن المكاوي 1 93 12-12-16, 03:23 PM
آخر رد: amgad525

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


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